C++ 结构或类中的数组初始化
我只是在学习结构和课程。为了熟悉它,我创建了一个示例结构,并尝试在其中初始化一个数组。当我编译程序时,它给了我一个错误C++ 结构或类中的数组初始化,c++,c,arrays,struct,C++,C,Arrays,Struct,我只是在学习结构和课程。为了熟悉它,我创建了一个示例结构,并尝试在其中初始化一个数组。当我编译程序时,它给了我一个错误 error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token char arr[5] = {2,3,8,67,87}; struct abc{ char a; char b; char c; char arr[5] = {2,3,8,67,87}; }; struct abc xyz[5]
error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
char arr[5] = {2,3,8,67,87};
struct abc{
char a;
char b;
char c;
char arr[5] = {2,3,8,67,87};
};
struct abc xyz[5];
在结构和类的声明中不允许数组初始化吗?我想在C中可以这样做:
struct abc{
char a;
char b;
char c;
char arr[5];
};
struct abc test= { 5, 2, 3, { 'a', 'b', 'c', 'd', 'e' } };
在C语言中,不能在结构定义中初始化结构的成员。当您声明该结构的变量时,必须这样做。在C++中,可以作为构造函数的一部分来完成。 在结构中不允许完成数组初始化,但是您可以只初始化没有内容的数组的名称和类型。 在c中++ 当需要在数组中设置4个主题值时,如下所示:
student keny;
keny.scoreOf4subject={90,91,94,93};
我相信
student keny;
keny.scoreOf4subject={90,91,94,93};