最近在调试一个程序,出现的问题是这个样的,程序运行什么的都正常,但是在程序关闭的时候,再就是在OnDestroy的时候,会跳一个内存访问冲突,0xc0000005访问0x00000000x发生冲突,我看了一下,发生冲突的地方是调用一个类的方法,但是这个类不是的引用不是指针,就是一个类,例如一个Ccon类,在Dlg类里调用,在.h文件中声明Ccon con,在.cpp直接调用例如:con.Init()之类的可以吗?我开始理解的是Ccon *con = new Ccon;只有指针在使用之前需要申请空间,不是指针就不用了,不知道我的理解对吗?给高手多给一些指点 

解决方案 »

  1.   

    不是因为是指针在使用前必须申请空间,而是一个指针在使用前应该给它赋值,new 创建的对象放堆内存中,系统不会自动销毁,在用完后用户应自己释放内存(使用 delete con)
      

  2.   

    像你说的类似于声明类的对象那样做应该是对的,有那样做过!在.h文件中包括那个类文件并且声明一个对象,在.cpp文件中调用类下的方法。对象.方法~
      

  3.   

    一定是内存问题,但是。
    calss A
    {
      ....
    };b.h
    class B
    {
       A m_a;
    }
    可以的