gcc: Incomplete Enums

1 
1 6.47 Incomplete 'enum' Types
1 ============================
1 
1 You can define an 'enum' tag without specifying its possible values.
1 This results in an incomplete type, much like what you get if you write
1 'struct foo' without describing the elements.  A later declaration that
1 does specify the possible values completes the type.
1 
1  You cannot allocate variables or storage using the type while it is
1 incomplete.  However, you can work with pointers to that type.
1 
1  This extension may not be very useful, but it makes the handling of
1 'enum' more consistent with the way 'struct' and 'union' are handled.
1 
1  This extension is not supported by GNU C++.
1