C++ 通过迭代编写std::map的元素
我已经编写了以下代码C++ 通过迭代编写std::map的元素,c++,stl,C++,Stl,我已经编写了以下代码 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
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”
如果我使用该行下面的注释代码,它是有效的,但我猜它不是有效的。有没有一种有效的方法来实现这一点?这是因为您使用的是常量迭代器
;尝试改为使用迭代器