提问人:gz_zg 提问时间:11/6/2023 更新时间:11/6/2023 访问量:75
为什么这行关于使用 erase() 到 vector 的代码会出错?[复制]
Why does this line of code that about the usage of erase() to vector give an error? [duplicate]
问:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> a = { 1,2,3,4,5 };
a.erase(a.begin()); //This line of code is correct
a.erase(a.rbegin()); //This line of code is wrong(I want to remove the last element in the vector)
return 0;
}
我尝试将其换成以下代码行:
a.erase(a.end()-1); //This line of code is also correct.
为什么?
它们两个(a.rbegin()和a.end()-1)不是同一个迭代器吗?
答: 暂无答案
评论
pop_back
iterator
reverse_iterator
erase