リストを最初にベクターにコピーしてから空のリストに戻すことで、リストをシャッフルしようとしています。
vector<Agent*> tmpVector(agents_.size());
copy(agents_.begin(), agents_.end(), tmpVector.begin());
random_shuffle(tmpVector.begin(), tmpVector.end());
agents_.clear();
copy(tmpVector.begin(), tmpVector.end(),agents_.begin());
プログラムが実行時エラーでクラッシュします:リストイテレータは参照解除できません
1-コードの何が問題になっていますか。
2-リストにはポインタが含まれています。上記のアプローチが機能する場合は何も問題がないと思います(ポインタ値は変更されず、割り当てられた変数は後でそれらを参照できるため)、そうですか?
ありがとう。