Я не знаю, что такое assgnt::MapType
, но назначение другого assgnt::MapType
на my_map
внутри цикла for не может быть хорошей вещью:
my_map = obj1.addGoodNeighbours(it->first, it->second, my_map);
Вы должны хотя бы переназначить итератор:
for(it = my_map.begin(); it != my_map.end(); ++it;) {
my_map = obj1.addGoodNeighbours(it->first, it->second, my_map);
it = my_map.begin();
}
Но я считаю, что код далек от правильного.Вы в основном разрушаете структуру, которую вы повторяете, итерируя ее.
РЕДАКТИРОВАТЬ : Ну, мы знаем, что такое MapType сейчас.Все вышеперечисленное все еще верно.Вы не можете просто переназначить свои карты, повторяя их.