如果我使用gcc编译并运行以下代码,它可以正常工作 - 我不明白为什么这不应该.但是,如果我使用VC++编译并运行这段代码,它会失败并且弹出窗口显示:"Expression:Vector iterators incompatible"
int main() {
vector<int> v = { 1,2,3,4 };
for(auto it = v.begin(); it != v.end(); )
{
if(*it% 2 == 0)
{
v.erase(it);
}else
{
++it;
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)