type 'identifier' has an illegal zero-sized array
A member of a structure or bit field contains a zero-sized array.
Example
struct S { int a[0]; // error, zero-sized array int b[1]; // OK };