我有两个带有n个元素的向量。现在,我对向量进行了排序,我想从第一个向量中删除最后一个元素,并从第二个向量中删除倒数第二个元素。但是此代码无法正常工作。
我尝试了以下代码。但是擦除甚至pop_back向量都无法正常工作。它只打印与排序后的矢量相同的图像,而没有擦除功能的效果。
v.erase(v.begin()+n-1);
v1.erase(v1.begin()+n-2);
for(i=0;i<n;i++){
cout<<v[i];
}
for(i=0;i<n;i++){
cout<<v1[i];
}
示例-如果我有一个向量2 2 1 5 ..排序后,1 2 2 5.我要删除最后一个即5,它应该是1 22。但是在上面的代码之后,它仍然打印1 2 2 5
答案 0 :(得分:2)
似乎n
应该已经更新,但是没有更新,因此您仍然打印(已擦除)元素。