我有一个类 Circle,我用这些来跟踪它的实例:
Circle *f1;
vector<Circle> list;
vector<Circle>::iterator it;
我设法创建了多个圈子并让他们四处走动。如何删除 Circle 的特定实例?例如,如果某个圆圈撞到墙上,那么它应该被擦除。我环顾了其他问题,甚至尝试了他们给出的代码,但没有运气。这是我目前所拥有的:
for (it = list.begin(); it != list.end(); ++it) {
it->x += 1;
if (it->x == ofGetWindowWidth()) {
list.erase(it);
}
}
我已经让其他语句与 if 语句一起使用,例如反转它们的运动方向。list.erase(它); 是我从这里得到的一行代码,我不明白为什么它会导致我的程序崩溃。