【发布时间】:2014-04-27 19:59:03
【问题描述】:
我正在尝试删除此向量中与播放器发生碰撞的任何元素。但是,当我尝试从向量中删除元素时,程序崩溃并出现错误; “向量迭代器不是增量的”。
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()”,但无济于事。对此的任何帮助都会很棒,在此先感谢!
【问题讨论】:
标签: c++ vector crash iterator erase