0
我想刪除此向量與玩家碰撞的任何元素。但是,當我嘗試從矢量中刪除元素時,程序崩潰,並且出現錯誤; 「向量迭代器不增量」。向量迭代器不增量.erase()
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()」 在不同的點,但無濟於事。任何幫助,這將是非常好的,在此先感謝!
非常感謝,我確實花了一小時研究發佈之前,但沒有發現太多相關(我很新)。反正我現在得到錯誤「矢量迭代器不兼容」? – user3027864
@ user3027864:調試器會爲你節省下你生活中的那些時間...... –
@ user3027864:如果你的編譯器不支持C++ 11,那麼你不能使用'auto',所以繼續拼寫出類型。 –