2011-07-25 2 views
3

я написал следующий код ...Пишущие элементы станд :: карты через итерации

PagesMap::const_iterator end = pagesMap.end(); 
    for (PagesMap::const_iterator it = pagesMap.begin(); it != end; ++it) 
    { 
    .... 
    it->second = 0; // Here I get the error 
    //pagesMap[it->first] = 0; 
    } 

Сейчас на линии, где у меня есть it->second = 0;, я получаю ...

ошибка: назначение data-member 'std :: pair :: second' в структуре только для чтения

Если я использую прокомментированный код ниже этой строки, это работает, но я думаю, что это неэффективно. Есть ли эффективный способ достичь этого?

ответ

12

Это потому, что вы используете const_iterator; попробуйте вместо этого перейти на iterator.

+1

Ahh! Хорошая точка зрения :)! – MetallicPriest

Смежные вопросы