我想初始化一個結構內的數組設置爲全零。在結構中初始化零數組會導致錯誤
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