Я нашел своеобразное поведение в C. Рассмотрим приведенный ниже код:
struct s {
int a;
};
struct z {
int a;
struct s b[];
};
int main(void) {
return 0;
}
Он компилируется просто отлично. Затем измените порядок элементов struct z
так:
struct z {
struct s b[];
int a;
};
И вдруг мы получаем ошибку компиляции field has incomplete type 'struct s []'
.
Почему это?