栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++关于使用单例的时候所遇到的一个bug

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++关于使用单例的时候所遇到的一个bug

我最近开始学习用单例来从一个类调用另一个类的成员函数,具体单例的实现可以参考其他帖子,这里放一个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(){

目前我刚开始使用单例,整体感觉比较难以入手,我将会继续学习。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/869490.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号