是否需要单独定义C ++中的类或结构的常量静态成员变量?

时间:2011-08-24 06:22:45

标签: c++ static const

C ++中的类或结构的常量静态成员变量是否不需要单独定义?

这是对的吗?

struct test
{
    const static int x;
};

int test::x;

1 个答案:

答案 0 :(得分:5)

不,这不正确。该定义必须与声明匹配,xconst int,而不是int。作为POD类型的const变量,它还需要初始化。 E.g。

const int test::x = 0;

作为整数类型的const static成员,也允许在类的定义中提供初始值设定项。