我有一个问题,当我尝试访问指向对象的指针时,我的程序崩溃了。我想选择对象,然后获取指向它的指针,然后将其存储在另一个对象中以操纵它。
这是失败的代码。我使用一个指针来获取一个对象然后在函数超出范围存储该对象中的指针之前。指针是指向原始地址还是指向发送到从<。p>返回的指针的指针
当指针超出范围时,此函数使程序崩溃。
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;
}