私は2つのstd::listsを持っています。リスト1からすべてのアイテムを削除して2番目に挿入し、その逆も行います。コードが機能していません(アクセス違反が発生し、「リストイテレータが参照解除できません」)
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番目の方法の対称コード。一度は2つのリスト間でアイテムを転送できましたが、次はエラーが発生します。
何か助けはありますか?