I tried to include all necessary code that may be causing these problems. The program crashes the second time this code is run:
for (int i = 0; i < player.projectiles.size(); i++)
{
bool temp = player.projectiles[i].move(begin, WIDTH);
if (temp == true)
{
player.projectiles[i].destroy();
player.projectiles.erase(player.projectiles.begin() + i);
}
}
Player.projectiles is a vector of objects from the class Projectiles. The member function move works perfectly and the function destroy looks like this:
void Projectile::destroy()
{
delete this;
}
The first time the loop is run everything works fine, but the second time my program crashes and I can't figure out why. I suspect it has to do with deleting the object. Any help is greatly appreciated.
Aucun commentaire:
Enregistrer un commentaire