在這裏,我有一個包含它認爲列表的載體是質數,然而,一些後來的價值是由較早出現在列表中的一些值divisiable。矢量擦除通過迭代器位置
爲了修正這個問題,我嘗試迭代我的向量v,並刪除該值,如果它可以在向量中被另一個除以餘數。
不過,我不斷收到此錯誤(「不匹配的成員函數調用擦除」)和想不出任何其他方式,通過這種循環刪除在我的迭代點的值。有什麼建議麼?
for (vector<int>::iterator it2 = v.begin();it2 != v.end(); ++it2){
for (vector<int>::iterator it3 = v.begin();it3 != v.end(); ++it3){
if (*it3%*it2 == 0){
v.erase (*it2);
}
}
}
'矢量:: erase'無效迭代器...... – Jarod42
和'v.front()% v.front()== 0',所以你最終會得到一個空向量。 – Jarod42
'v.erase(it2);'? –