c++
用list 的erase时
iterator erase (iterator position);由于删除的时候需要传入的值为iterator,该迭代器用erase()之后就失去了作用。 所以会出现list iterator incompatible的错误。
解决方法可以从表达式中看出,由于erase函数返回了一个迭代器,该迭代器为下一个list元素的地址。所以可以直接声明一个iterator变量去接收这个值就可以啦。
c++
用list 的erase时
iterator erase (iterator position);由于删除的时候需要传入的值为iterator,该迭代器用erase()之后就失去了作用。 所以会出现list iterator incompatible的错误。
解决方法可以从表达式中看出,由于erase函数返回了一个迭代器,该迭代器为下一个list元素的地址。所以可以直接声明一个iterator变量去接收这个值就可以啦。