0

我有一个问题,为什么当我尝试访问指向对象的指针时程序会崩溃。我想选择对象,然后获取指向它的指针,然后将其存储在另一个对象中以对其进行操作。

这是失败的代码。我使用指针来获取对象,然后在函数超出范围之前将该指针存储在对象中。指针是指向原始地址还是指向发送到返回的指针的指针。

当指针超出范围时,此函数使程序崩溃。

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;
}  
4

0 回答 0