векторные итераторы несовместимы при удалении из вектора

У меня есть карта, элементы которой являются векторами. Я должен удалить из этих векторов все элементы, которые равны специальному числу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, Может кто-то указать, что является причиной этого?

Спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос