在这里,我有一个包含它认为列表的载体是质数,然而,一些后来的价值是由较早出现在列表中的一些值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);'? –