目前,我有一個循環迭代通過一個向量,我試圖找到一個對象的索引,而我在循環中刪除它。我該如何解決這個問題?在循環中使用向量中的對象
這裏是我的代碼:
for (Object &a : objectDict)
{
a.setTime(theTime);
double tempMoveX = 0, tempMoveZ = 0, tempUX = 0,tempUZ = 0;
for (Object &b : objectDict)
{
if (a != b)
{
...
debug << fixed << setprecision(20) << "Collision" << endl;
a.appendMass(b.getMass());
objectDict.erase(find(objectDict.begin(), objectDict.end(), b));
...
那是重要組成部分。如何從矢量中刪除對象b?
你不需要兩個for循環,只需使用find/find_if然後擦除 – billz
這兩個循環是因爲我在別處使用,我只是對刪除b感興趣。我試過find/find_if,但是我得到Object和const Object之間的無效操作數。 – DuskFall
你想擦掉什麼樣的'b'? – billz