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”


如果我使用该行下面的注释代码,它是有效的,但我猜它不是有效的。有没有一种有效的方法来实现这一点?

这是因为您使用的是
常量迭代器
;尝试改为使用
迭代器