我想初始化一个结构内的数组设置为全零。在结构中初始化零数组会导致错误
typedef struct month {
char name[19];
int yearCounts[10] = { 0 };
struct month *next;
} MONTH;
编译器似乎不想让我在结构中设置yearCounts值。我得到的是旧的错误: “预期:A,A,A,A,A,A} A或â_attribute_â之前A = A令牌”
这似乎很奇怪,我,因为确切的声明之外的结构定义似乎工作得很好。如果我初始化数组而不尝试设置它的值,那么它也可以工作。
我错过了一些愚蠢的东西,还是我只是不允许用结构定义中的值初始化一个数组?
我正在编译使用gcc在C89标准,如果这有所作为。
这是唯一可能在C++ – 2012-03-25 10:04:16
只能初始化对象(不是OOP意义上的)。 typedef定义了一个类型,而不是一个对象。 – pmg 2012-03-25 10:09:37