单例中的不完整类型错误

时间:2012-02-22 03:53:55

标签: c++ pointers singleton

我需要一个指向单例类的主类的指针。单例类头包含在主类中。

在MainClass.cpp

mSingletonInstance->mMainClass = this;

为了避免递归包含问题,我不在单例类中包含我的主类头,我只是简单地使用主类的前向声明。

在Singleton.h中:

class MainClass;

class Singleton {
    public:
       MainClass *mMainClass;
};

当我尝试从主类访问方法时出现问题...我得到一个不完整的类型错误。

在Singleton.cpp中

Singleton::myMethod(){
    mMainClass->someMethod(); // incomplete type error
}

当发生这种情况时,已经定义了MainClass和Singleton ......

1 个答案:

答案 0 :(得分:1)

好像你没有在singleton.cpp中包含mainclass.h。