Como apagar e excluir ponteiros para objetos armazenados em um vetor?
Tenho um vetor que armazena ponteiros para muitos objetos instanciados dinamicamente e estou tentando percorrer o vetor e remover certos elementos (remover do vetor e destruir o objeto), mas estou tendo problemas. Aqui está o que parece:
vector<Entity*> Entities;
/* Fill vector here */
vector<Entity*>::iterator it;
for(it=Entities.begin(); it!=Entities.end(); it++)
if((*it)->getXPos() > 1.5f)
Entities.erase(it);
Quando qualquer um dos objetos Entity chega ao xPos> 1.5, o programa trava com um erro de declaração ... Alguém sabe o que estou fazendo de errado?
Estou usando o VC ++ 2008.