list是双向循环容器,所以利用--it可以对链表尾进行操作,在insert时可以成功地在尾部插入,但是erase时却出错,请问是什么原因
#include<iostream>
using namespace std;
#include<list>
//打印list函数
void printList(list<int> l)
{
for(list<int>::const_iterator it=l.begin();it !=l.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
void test01()
{
//默认构造
list<int> l;
for(int i=0;i<10;i++)
{
l.push_front(i);//在l1中倒序插入10个数
}
list<int>::iterator it=l.begin();
l.insert(--it,3); //--it从l的头指向l的尾
printList(l);
it = l.begin();
l.erase(--it); //这一步出错了
printList(l);
}
int main()
{
test01();
system("pause");
return 0;
}