我有一个问题,为什么当我尝试访问指向对象的指针时程序会崩溃。我想选择对象,然后获取指向它的指针,然后将其存储在另一个对象中以对其进行操作。
这是失败的代码。我使用指针来获取对象,然后在函数超出范围之前将该指针存储在对象中。指针是指向原始地址还是指向发送到返回的指针的指针。
当指针超出范围时,此函数使程序崩溃。
void control::moveOrder(int a, int sp , bool al){
h_AFV * ph_AFV;
if(currentPlayer == 1){ph_AFV = pl1->gtAFV(marker);}
if(currentPlayer == 2){ph_AFV = pl2->gtAFV(marker);}
ph_AFV->setStat(1); <-This works
ph_AFV->setOrder('m');
mvOrder m(ph_AFV, a, sp, al);
checker(ph_AFV);
moving.push_back(m);
ph_AFV = NULL;
delete ph_AFV;
} // Added to make sense of constructor definition
mvOrder::mvOrder(h_AFV * pAFV, int d, int s, bool a){
pMover = pAFV;
azmuth = d;
speed = s;
align = a;
}