Normally that error only occurs when you declare a struct/class without defining it then try to construct something with it:
Code:
struct my_struct;
void function1()
{ my_struct my_incomplete_array[10]; }
struct my_struct {};
void function2()
{ my_struct my_complete_array[10]; }
This is because without the structure definition the compiler doesn't know what size it is, and therefore doesn't know how to line up stack offsets when referencing variables, etc.
ta0kira