改一段程序的时候按照大牛的建议把几个数值设成了类中的静态常量,结果VC6编译开始报错...换到VS2008后仍然如此...
把那个修改的头文件复制到其他工程中,却正常运行..心中纳闷不已...
于是做了个试验...
test.h
test.cpp
main.cpp
果然报错...
改了半天,心中郁闷至极...
再次询问大牛后才知道,原来
const int X::a[5]={1,2,3,4,5};
const int X::AroundNum=8;
应该放在test.cpp中.
static const int AroundNum;
static const int a[];
这是声明
而
const int X::a[5]={1,2,3,4,5};
const int X::AroundNum=8;
是定义