读书人

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

发布时间: 2014-01-22 00:03:39 作者: rapoo

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++方面的问题就发这里了,求解!
[解决办法]
静态变量必须在类定义以外定义,在类定义里写的算声明
因为类定义或者叫类声明,是告诉编译器这个类是什么样子,类本身不占内存,而静态变量却必须有内存才能存在,所以不能和类一起声明

读书人网 >C++

热点推荐