[C++] 如何初始化常量数组成员

时间:2022-10-12 20:00:42

今天编程时想在类中声明一个常量数组,发现无法初始化,后来在网上搜索,证明这是一个无法解决的问题。

 

因为根据C++语法,常量声明必须要在构造函数后用参数方式初始化,而x({1.0,2.0})又不符合语法。

 

只能声明成static类型,然后在源文件里定义。

 

// a.h

class A

{

private:

  static const int xx[10];

}

 

// a.cpp

const A::xx[10] = {1,2,3,4,5,6,7,8,9,0};