我班上有一名静态成员。它被声明和定义:
在我的标题中:
class Bla {
...
static Bla* instance;
...
};
在我的实施文件中:
Bla::Bla* instance = 0;
但是ld似乎不喜欢它:
release/bla.o:bla.cpp:(.text+0x19f7): undefined reference to `Bla::instance'
我正在使用Qt SDK中的GCC 4.4.0。
我无法弄清楚我做错了什么。有人可以解释这个问题吗?
答案 0 :(得分:8)
您错过了Bla
,而是创建了一个全局。成功:
Bla* Bla::instance = 0;