class a {
public:
const static int i;
};
const int a::i=1;
不能
class a {
public:
const static int i=1;
};
原因:
在VC中,静态数据成员必须在类声明外分配空间和初始化,静态数据成员要实际的分配空间,不能在类声明里定义,而只能声明。在类声明中,并不进行实际的内存分配,故写成const static int i=1;是错误的。
Submitted by lijs on 2007, August 30, 8:39 PM. 越飞越高