C ++中的类或结构的常量静态成员变量是否不需要单独定义?
这是对的吗?
struct test
{
const static int x;
};
int test::x;
答案 0 :(得分:5)
不,这不正确。该定义必须与声明匹配,x
为const int
,而不是int
。作为POD类型的const
变量,它还需要初始化。 E.g。
const int test::x = 0;
作为整数类型的const static
成员,也允许在类的定义中提供初始值设定项。