Я пытаюсь инициализировать массив внутри набора struct для всех нулей.Инициализация массива нулей в struct вызывает ошибку
typedef struct month {
char name[19];
int yearCounts[10] = { 0 };
struct month *next;
} MONTH;
Компилятор, похоже, не хочет позволять мне устанавливать yearCounts для значений внутри структуры. Я получаю старую ошибку: "ожидали: A, A, A, A, A, A} â или â_attribute_â, прежде чем а = маркер"
Это мне кажется странным, потому что точная декларация за пределами структуры по-видимому, работает очень хорошо. Если я инициализирую массив, не пытаясь установить его значения, он тоже работает.
Я пропустил что-то глупое, или мне просто не разрешено инициализировать массив со значениями внутри определения структуры?
Я компилирую с использованием gcc в стандарте C89, если это имеет значение.
это возможно только в C++ –
можно только инициализировать объекты (не в смысле ООП). Typedef определяет тип, а не объект. – pmg