• C++ 类中的static对象貌似不能是类对象


    #include<stdio.h>
    
    
    class CDemoCls{
    public:
        int idata;
    public:
        CDemoCls(){
            idata=0;
            printf("%s\n",__FUNCTION__);
        }
        ~CDemoCls(){
            printf("%s\n",__FUNCTION__);
        }
    };
    
    
    class CDemoCls2{
    public:
        static class CDemoCls cls;
        static int a;
    public:
        CDemoCls2(){
            printf("%s\n",__FUNCTION__);
        }
        ~CDemoCls2(){
            printf("%s\n",__FUNCTION__);
        }
    };
    
    
    
    
    int main(){
    CDemoCls2 obj;
    
    //obj.cls.idata=5;//有这句 报错:
    /*
    
    testClsStatic.obj : error LNK2019: 无法解析的外部符号 "public: static class CDemoCls CDemoCls2::cls"
     (?cls@CDemoCls2@@2VCDemoCls@@A),该符号在函数 _main 中被引用
    testClsStatic.exe : fatal error LNK1120: 1 个无法解析的外部命令
    
    */
        return 0;
    }

    定义2 个类,第二个类 想使用 一个 static的类1 对象,现在编译 可运行显示:

    CDemoCls2::CDemoCls2
    CDemoCls2::~CDemoCls2

    好像没有CDemoCls的事情,在main函数加上对 static 类 的变量使用,直接报错,无法解析的外部符号。

    真是郁闷。我只是希望 第二个类 不要重复 对第一个类 进行操作。把 第一个类 当作 全局变量 ,我总觉得 全局变量多了 不好管理。

    唉 这么 简单的要求,没想到 都无法做到。

    而且 类中的 static 无法 直接初始化,这个 最烦人了。只希望 初始化一次的。

  • 相关阅读:
    Bye sent_keys
    快速获取Jenkins上build
    快速搞定selenium grid分布式
    python 图形界面开发
    [分享] 自动化测试与持续集成方案-- UI 检查
    hua ge ju hao
    暴力 C++
    简单排序(java)
    记codeforces两题
    hdu 1874, dijkstra
  • 原文地址:https://www.cnblogs.com/ayanmw/p/2662206.html
Copyright © 2020-2023  润新知