Всякий раз, когда я помещаю любое количество элементов в свой список и пытаюсь преобразовать их в неупорядоченную карту с целым числом внутри элемента списка в качестве ключа, я получаю сообщение об ошибке об итераторе конечного списка, когда пытаюсь стеретькаждый элемент в списке.Мой код ниже.
for (auto iter = tList.begin(); iter != tList.end(); iter++)
{
tMap[(*iter)->getID()] = move(*iter);
}
//Specifically it's this section here with 2 iterators I'm having an issue with
for (auto iter = tList.begin(); iter != tList.end(); iter++)
{
for (auto iter2 = iter; iter2 != tList.end(); iter2++)
{
tList.erase(iter, iter2);
iter2++;
//Intentional so iter2 goes up by 2 each time while the first iter goes up by 1
}
}
for (pair<int, Item *> e : tMap)
{
cout << e.first << " " << e.second << endl;
}
for (auto iter = t.begin(); iter != tMap.end(); iter++)
{
tMap.erase(iter);
}