我正在尝试通过先将列表复制到向量然后再复制回空列表来对列表进行洗牌。
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());
程序因运行时错误而崩溃:list iterator not dereferencable
1-代码有什么问题。
2-列表包含指针。如果上述方法有效,我认为不会有任何问题(因为指针值不会改变,并且分配的变量以后仍然可以被它们引用),对吧?
谢谢。