大侠们帮帮忙:XXX.hstruct s1
{
   int x;
   ...
};
class c1
{
public:
   s1 *ps1;
   ...public:
   void func1 ();
}XXX.cpp...
void c1::func1 ()
{
   if ( ps1 )
   {
      delete (ps1);   //  每次程序运行到这里就崩溃,急死我了
      ps1 = NULL;
   }
}...
我想可能是 c++ 语法上的问题,但是没有头绪,请帮帮忙了,谢

解决方案 »

  1.   

    在程序开始时初始化一下指针设为NULL试试
      

  2.   

    那么问一下,delete 一个没有初始化的指针会出现什么情况呢
      

  3.   

    在class c1的构造函数里面把ps1 = NULL;如果没有初始化的话,你的ps1可能值是0xcccccc
      

  4.   

    那么问一下,delete 一个没有初始化的指针会出现什么情况呢
    ========
    只要这个指针一开始的时候设置为NULL了,就可以了,这个就相当于什么事情都没做关于这个问题,你可以看effective c++