为什么以下代码会产生断言错误:Expression: list iterators incompatible

#include <list>
using namespace std;

int main()
{
    list<int> a;
    a.push_back(1);
    list<int>::iterator iter=a.begin();
    a.erase(iter);

    iter==a.end();
}

最佳答案

您要做的是:

#include <list>
using namespace std;

int main()
{
    list<int> a;
    a.push_back(1);
    list<int>::iterator iter=a.begin();
    iter = a.erase(iter);
}

关于c++ - STL迭代器:断言错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13671824/

10-16 16:02