c++不能给类里定义的数组赋值吗

程序如下:
#include<iostream>
using namespace std;
class Ga
{
public:
int a[6];
Ga();
};
Ga::Ga()
{
a[6]={1,1,1,1,1,2};
}
void main()
{
}

这个时候不行,这种初始化列表赋值得在定义的时候使用,而类定义里定义数组的时候,又不能带初始化列表。如果是外面(全局或函数体),则可以int a[6]={1,1,1,1,1,2};

你这种情况,中转下吧
Ga::Ga()
{
int b[6]={1,1,1,1,1,2};
for(int i=0;i<6;i++)
a[i]=b[i];
}

或是使用memcpy(a,b,sizeof(b))
或是 a[0]=1;a[1]=1;a[2]=1;a[3]=1;a[4]=1;a[5]=2;
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-21
你好!可以的,只要你在类中设置一个输入函数就行了。但前提是你的数组规模是定好的。
相似回答