我需要一个单例类指向我的主类的指针。单例类头包含在主类中。
在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 ...
最佳答案
似乎您没有在singleton.cpp中包含mainclass.h。
关于c++ - 单例中的不完整类型错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9388862/