Game game = new Game;
....if(game!=NULL) delete game;game = new Game;我想判断game是不是空的,如果不是,就在重新创建一个,保证game里面的成员都是初始化的样子
这样做对吗?

解决方案 »

  1.   

    wrong!!!!!!!!!!!!!!!         Game* game = new Game;
      

  2.   

    不好意思,是我写错了,我是这样写的:
    Game *game = new Game;
    ....if(game!=NULL) delete game;game = new Game;可运行时,就是出错!
      

  3.   

    Game *game = NULL;
    game = new Game;
    ....if(game!=NULL) 
    {
        delete game;
        game = NULL;
    }
    game = new Game;
      

  4.   

    最好初始成NULL的.以后可以进行判断.或用sizeof
      

  5.   

    to BLsoft(網龍ζ龍活) :
    如何使用sizeof?
      

  6.   

    使用的时候一定要注意初始化的问题.在VC 2003中,不初始化的指针很多会被系统写上0xcdcdcdcdcdcdcdcd,所以用NULL往往不能成功的判断其指针的有效性.用sizeof的情况之一是:
     char *psz = (char*)malloc(sizof(char));
      

  7.   

    是不是你的Game类中有内存漏洞
      

  8.   

    在VC6中这样使用是可以的
    CMy *my = new CMy;
    if (my != NULL) 
    delete my;
    my = new CMy;
      

  9.   

    同意三楼,如果还有错,那只能说明你的game类有问题,而与new、delete无关
      

  10.   

    同意楼上,game类估计有问题,可以的话贴上代码看看,
      

  11.   

    对阿,搂主的代码没问题,就看你的game类里的构造和析构函数是否有问题。