【发布时间】:2015-07-09 06:46:38
【问题描述】:
我只是在学习结构和类。我创建了一个示例结构来熟悉它并尝试在其中初始化一个数组。当我编译程序时它给了我错误
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和C++可能有不同的规则......选择一个。 -
即使你选择 C++,也要提到版本,因为它与答案有关。
-
我只是想知道这是否可能。任何版本的 C++ 都允许这样做。
-
选择一种单一语言。是的,C++ 从 C++11 开始就允许这样做。
-
好的,因为您坚持使用一种语言进行标记(无需等待适用于两种语言的答案),您的代码在 C++ 中运行良好,因为 C++11。见this example。