我需要一个指向单例类的主类的指针。单例类头包含在主类中。
在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 ......
答案 0 :(得分:1)
好像你没有在singleton.cpp中包含mainclass.h。