私は次の機能を持っています。
void BulletFactory::update(Uint32 ticks) {
std::list<Sprite*>::iterator it = activeBullets.begin();
while (it != activeBullets.end()) {
(*it)->update(ticks);
if(!((*it)->inView())) {
activeBullets.remove(*it);
Sprite* temp = *it;
it++;
inactiveBullets.push_back(temp);
} else {
it++;
}
}
}
条件!((*it)->inView())
がtrue
存在する場合、セグメンテーション違反があります。私は問題を見ることができません。
編集: activeBullets と inactiveBullets は 2 つのリストであることを忘れていました。