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 无法 直接初始化,这个 最烦人了。只希望 初始化一次的。
------------------------------------------------------------------------------------------------
一定要专业!本博客定位于 ,C语言,C++语言,Java语言,Android开发和少量的Web开发,之前是做Web开发的,其实就是ASP维护,发现EasyASP这个好框架,对前端后端数据库 都很感觉亲切啊。. linux,总之后台开发多一点。以后也愿意学习 cocos2d-x 游戏客户端的开发。