我有 2 个 std::lists。我想从列表 1 中删除所有项目并将其插入第二个,反之亦然。我的代码不起作用(出现访问冲突和“列表迭代器不可取消引用”)
for ( std::list<Item *>::iterator it = list1.begin(); it != list1.end(); ++it ) {
it = list1.erase( it );
list2.push_back( *it );
}
it = list1.begin();
it = list2.erase( it ); // because the last element is not deleted in the above loop
list2.push_back( *it );
第二种方法的对称代码。我设法在 2 个列表之间转移项目一次,但下一次我得到了错误。
有什么帮助吗?