以上代码在VC6下编译出错,信息如下:
C:/Program Files/Microsoft Visual Studio/MyProjects/2/1.cpp(390) : error C2252: 'count' : pure specifier can only be specified for functions
C:/Program Files/Microsoft Visual Studio/MyProjects/2/1.cpp(402) : error C2065: 'count' : undeclared identifier
然而,《C++ Primer》第四版401页中说:
一般而言,类的static成员,像普通数据成员一样,不能在类的定义体中初始化。相反,static成员通常在定义时才初始化。
&nbs

在VC6.0环境下,尝试在类定义体中初始化整型const static成员会导致编译错误,但《C++ Primer》指出这在常量表达式情况下是允许的。此问题在VC2003中得到解决,可能是VC6.0的兼容性问题。Effective C++也提及了此现象。
最低0.47元/天 解锁文章
9303





