我最近开始学习用单例来从一个类调用另一个类的成员函数,具体单例的实现可以参考其他帖子,这里放一个bug,代码如下:
IBackend.cpp:19:67: error: qualified-id in declaration before ‘=’ token
BackendMessageProcessor* BackendMessageProcessor::m_instance = nullptr;
问题在于我在使用BackendMessageProcessor这个类中一个静态实例时(如下图)
static BackendMessageProcessor* getInstance(){
if(m_instance == nullptr){
m_instance = new BackendMessageProcessor();
return m_instance;
}
else
return m_instance;
}
在实现的时候是在一个成员函数内部实现的,而静态变量的实现一定要在主函数之外,做出修改后(如下图)
BackendMessageProcessor* BackendMessageProcessor::m_instance = nullptr;
int main(){
目前我刚开始使用单例,整体感觉比较难以入手,我将会继续学习。