list iterator incompatible

c++

用list 的erase时

iterator erase (iterator position);
由于删除的时候需要传入的值为iterator,该迭代器用erase()之后就失去了作用。 所以会出现list iterator incompatible的错误。

解决方法可以从表达式中看出,由于erase函数返回了一个迭代器,该迭代器为下一个list元素的地址。所以可以直接声明一个iterator变量去接收这个值就可以啦。

发布了17 篇原创文章 · 获赞 0 · 访问量 2462

猜你喜欢

转载自blog.csdn.net/Ike_Lin/article/details/52702985