векторные итераторы несовместимы при удалении из вектора
У меня есть карта, элементы которой являются векторами. Я должен удалить из этих векторов все элементы, которые равны специальному числуnum
std::map myMap;
for (std::map::iterator itMap = myMap.begin();itMap != myMap.end();++itMap )
{
for (std::vector::iterator itVec = itMap->second.begin();itVec != itMap->second.end();)
{
auto itNextVec = itVec;
++itNextVec;
if (*itVec == num)
{
itMap->second.erase(itVec );
}
itVec = itNextVec;
}
}
Код вызывает исключение во время выполнения. В VS -vector iterators incompatible
, Может кто-то указать, что является причиной этого?
Спасибо