我正在使用 VC2008 作为我的编译器,令我惊讶的是一个枚举可以在没有定义的情况下使用:
void func(enum EnumType type)
{
}
上面的代码可以毫无问题地编译和运行,任何人都可以解释它为什么有效吗?
更新: 我可以在 C++ 中定义一个空枚举,如下所示:
enum EnumType {};
最佳答案
这显然是一个非标准的 Visual C++ 语言扩展。
您不能在标准 C++ 中转发声明 enum
。
关于c++ - 为什么可以在没有定义的情况下使用枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3947067/