Как стереть и удалить указатели на объекты, хранящиеся в векторе?
У меня есть вектор, в котором хранятся указатели на множество объектов, создаваемых динамически, и я пытаюсь перебрать вектор и удалить определенные элементы (удалить из вектора и уничтожить объект), но у меня возникли проблемы. Вот как это выглядит:
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);
Когда какой-либо из объектов Entity достигает xPos> 1.5, программа падает с ошибкой утверждения ... Кто-нибудь знает, что я делаю неправильно?
Я использую VC ++ 2008.