问题描述:
如果对删除的iterator进行自增犯错误没?关键代码如下:
typedef vector<CTask> TASK_LIST;
typedef vector<CTask>::iterator TASK_ITERATOR;
。。。。。
TASK_ITERATOR it2=m_TaskFnshList.begin();
m_TaskFnshList.erase(it2);
--it2;
这种操作是否会引起不可预料的错误呀?
我想说的是:it2指针,最后一句操作是否合法?或者说是否具有意义(语义是否有意义)。
问题解答:
错误就是无法显示
干嘛要这样做啊……
it2 = m_TaskFnshList.erase(it2);
不就行了嘛~~it2就是删除当前结点后的下一个结点的迭代器了