问题描述
- C++类数据成员为Const数组怎么初始化
-
class A
{
public:
A(){}
~A(){}private:
const int a[3];
};const int a[3]怎么初始化?求教高手
解决方案
这是C++98/03的缺陷。
如果你的编译器支持C++11可以在构造函数初始化器中初始化类成员数组
#include<iostream>
using namespace std;
class A
{
public:
A() :a{1,2,3}{}
~A(){}
private:
const int a[3];
};
不支持C++11的话,或者声明成static的?
#include<iostream>
using namespace std;
class A
{
public:
A(){}
~A(){}
private:
static const int a[3];
};
const int A::a[3] = { 1, 2, 3 };
解决方案二:
C++类的const、static和const static数据成员的初始化
C++类的const、static和const static数据成员的初始化
C++类的数据成员初始化
解决方案三:
const修饰的变量只能在声明的时候初始化,const int a[3] = {1,2,3};,之后任何地方都不能修改a的内容
时间: 2025-01-21 01:25:57