编译器错误 C2599

更新:2007 年 11 月

错误消息

“enum”: 不允许枚举类型的前向声明

/Za 下不允许的枚举类型的前向声明。

从 Visual C++ 2005 开始,C++ 托管扩展不再支持托管枚举的前向声明。有关更多信息,请参见 Visual C++ 2005 编译器中的重大更改

下面的示例生成 C2599:

// C2599.cpp
// compile with: /clr /c
enum class Status;   // C2599

enum class Status2 { stop2, hold2, go2}; 

ref struct MyStruct {
   // Delete the following line to resolve.
   Status m_status;

   Status2 m_status2;   // OK
};

enum class Status { stop, hold, go };