Я перепробовал все возможности и не смог найти решения.Пожалуйста, помогите
Я хочу удалить записи в векторе на карте, перебирая его.
map < string, vector < record> >::iterator map_it;
for(map_it = map_records.begin(); map_it != map_records.end(); ++map_it){
vector < record>::iterator vec_it;
for(vec_it = (*map_it).second.begin(); vec_it != (*map_it).second.end();){
if(condition){
cout << (*map_it).second.size() << endl;
vec_it = map_it->second.erase(vec_it);
cout << (*map_it).second.size()<< endl;
} else {
++vec_it;
}
}
}
Я пробовал что-то вроде этого,
(*map_it).second.erase(vec_it)
Этоукажите длинное число, если я запросю его размер, и программа завершится с ошибкой сегментации
ВЫХОД:
18446744073709551615
18446744073709551615
Ошибка сегментации
Любая помощь оценена