delete一个指针时出现问题,狂郁闷.
Bubbles的声明如下:
vector< CBubble* > Bubbles;
有一般代码如下:
if( row == (Rows - 1) )
{//结束游戏
delete Current;
State = GAME_ENDED;
vector< CBubble* >::iterator itr = Bubbles.begin();
for( ; itr != Bubbles.end(); ++itr)
{
point2d pt;
CBubble* pB = *itr;
pB->GetPos( pt );
pB->Launch();
delete *itr;//这句有问题。
}
Bubbles.clear();
Game->Reset();
return;
}
如果将delete *itr;这句删除,则程序执行正常,加上这句的话,进行过程中非法退出,没有任何提示,各位高手看看,是什么问题?