页首Html代码

返回顶部

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

你看到的这个文章来自于http://www.cnblogs.com/ayanmw

复制代码
#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 无法 直接初始化,这个 最烦人了。只希望 初始化一次的。

转载请注明出处:http://www.cnblogs.com/ayanmw 我会很高兴的!

posted @   ayanmw  阅读(785)  评论(4编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2011-08-29 ASP一个比较怪异的错误'80004005'

页脚Html代码

点击右上角即可分享
微信分享提示