我写了以下代码......
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;
,我得到......
错误:在只读结构中分配数据成员'std :: pair :: second'
如果我使用该行下方的注释代码,它可以正常工作,但我认为它效率不高。有没有一种有效的方法来实现这一目标?
答案 0 :(得分:12)
这是因为你使用的是const_iterator
;请尝试更改为iterator
。