我正在尝试解决C++中的一个问题,其中一部分需要使用rbegin()
成员函数从向量中删除元素。然而,每次我编写下面提到的代码时,编译器都会报错。这里有什么问题?
int main() {
int a = 1, b = 2;
vector<int> V = {a, b};
auto it = V.rbegin();
V.erase(it);
return 0;
}
虽然编译无误,但如果使用begin()
成员函数访问相同的元素,则会出现问题。下面的代码可以正常工作。
int main() {
int a = 1, b = 2;
vector<int> V = {a, b};
auto it = V.begin()+1;
V.erase(it);
return 0;
}
reverse_iterator
的vector::erase
重载函数-只有一个接受iterator
的。 - user11923373erase
仅接受const_iterator
。 - ChrisMM