首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Qt中定义静态成员变量报错,该怎么解决

2014-01-22 
Qt中定义静态成员变量报错我自己写了个Task类,Blackboard类,LoginAgent类在Blackboard类里定义了public:st

Qt中定义静态成员变量报错
我自己写了个Task类,Blackboard类,LoginAgent类
在Blackboard类里定义了public:static QList<Task> TaskBoard;
但只要在其他地方使用TaskBoard就会报错:
loginagent.obj:-1: error: LNK2001: 无法解析的外部符号 "public: static class QList<class Task> Blackboard::TaskBoard" (?TaskBoard@Blackboard@@2V?$QList@VTask@@@@A)


找不到原因……感觉更像是C++方面的问题就发这里了,求解!
[解决办法]
静态变量必须在类定义以外定义,在类定义里写的算声明
因为类定义或者叫类声明,是告诉编译器这个类是什么样子,类本身不占内存,而静态变量却必须有内存才能存在,所以不能和类一起声明

热点排行