C ++ MFC - 应用程序在属性定义时崩溃

时间:2014-11-26 17:36:48

标签: c++ class mfc nested-class

我有一个C ++类,ClassA。我想在ClassA中定义ClassB,然后定义ClassB类型的ClassA属性。

我有另一个类,ClassC,它包含ClassA类型的指针变量。如果我尝试将此指针指向ClassA的实例,则应用程序崩溃。但是,如果我删除属性m_classB,一切正常。所以关于ClassC实例指向包含ClassB的ClassA实例的一些事情导致它崩溃,但是不包含ClassB的ClassA很好......如果这是有道理的。

我的代码如下:

class __declspec(dllexport) ClassA
{
public:
    class ClassB {
    public:
        int m_nID;
        CString m_string;

        ClassB() :
            m_nID(-1),
            m_string(_T(""))
        {

        }
    };

    ClassB m_classB; // If i comment this out, then the application loads no problem
};

奇怪的是,如果我将ClassB m_classB;替换为vector<ClassB> m_vclassB;,一切正常。

如果我使用ClassB* m_classB代替,则会发生同样的崩溃。

干杯!

0 个答案:

没有答案