Sun Studio 12 Update 1: C++ ユーザーズガイド

4.5 不完全な enum 型の使用

-features=extensions オプションを使用した場合は、不完全な enum 型は前方宣言と見なされます。たとえば、-features=extensions オプションを使用すると、次の不正なコードのコンパイルが可能になります。


typedef enum E F; // invalid, E is incomplete

前述したように、enum 型を使用する前に、その定義を記述しておくことができます。