问题描述
我想用 C++ 初始化一个普通数组。
class Test {
public: int a[5];
a[0] = {1}; // or simply a[0] = 1;
};
int main(){
Test Obj;
cout<<Obj.a[0];
}
它给出了一个错误“a不命名类型”。 我知道还有另一种方法:使用构造函数或使用成员函数进行初始化。 我的全部问题是,为什么我应该使用任何 getter 和 setter 方法来初始化普通数组?它是否违反了任何 C++ 规则,为什么我会收到此错误?
解决方法
您可以在同一行中像这样初始化数组
class Test{
public:
int a[5] = {1};
};
它会将第一个值设置为 1。
,您可以使用构造函数:
class Test{
public: int a[5];
Test() {a[0]=1; a[1]=5; a[2]=4; a[3]=8; a[4] = 9;}
}
};