我有一个元素是向量的地图。我必须从这些向量中删除所有等于特殊数字的元素num
std::map<size_t,std::vector<size_t> > myMap;
for (std::map<size_t,std::vector<size_t> >::iterator itMap = myMap.begin();itMap != myMap.end();++itMap )
{
for (std::vector<size_t>::iterator itVec = itMap->second.begin();itVec != itMap->second.end();)
{
auto itNextVec = itVec;
++itNextVec;
if (*itVec == num)
{
itMap->second.erase(itVec );
}
itVec = itNextVec;
}
}
该代码导致运行时 exepssion .In VS - vector iterators incompatible
。有人可以指出这是什么原因吗?
谢谢