Я пытаюсь удалить любой элемент этого вектора, который сталкивается с игроком. Однако, когда я пытаюсь удалить элемент из вектора, программа падает, и я получаю сообщение об ошибке; "векторный итератор не является инкрементным".
for (std::vector<Coin>::iterator i=CoinSet.begin(); i!=CoinSet.end(); i++)
{
if (i->PlayerClear(player.collider()) == true)
{
score++;
cout<<score<<endl;
CoinSet.erase(i);
}
}
Этот код отлично работает до "CoinSet.erase(i)", я пробовал использовать "CoinSet.clear()" в разных точках, но безрезультатно. Любая помощь в этом будет здорово, заранее спасибо!