c++ - 为什么可以在没有定义的情况下使用枚举类型

标签 c++ visual-studio visual-c++ enums visual-c++-2008

我正在使用 VC2008 作为我的编译器,令我惊讶的是一个枚举可以在没有定义的情况下使用:

void func(enum EnumType type)
{

}

上面的代码可以毫无问题地编译和运行,任何人都可以解释它为什么有效吗?

更新: 我可以在 C++ 中定义一个空枚举,如下所示:

enum EnumType {};

最佳答案

这显然是一个非标准的 Visual C++ 语言扩展。

您不能在标准 C++ 中转发声明 enum

关于c++ - 为什么可以在没有定义的情况下使用枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3947067/

相关文章:

c++ - 请求数组成员时收到错误

c++ - 带有 Github 的 Visual Studio 文件夹

c++ - C/C++ 中的 BST super 节点生成

c# - 使用 select 语句后将值存储在变量中

c# - 即使未标记 "optimize code",Visual Studio 也会优化代码

python - 将大型复杂数组从 Python 传递到 C++ - 我的最佳选择是什么?

c++ - 找不到 .cpp 文件中的 ISR

c++ - 使用 resource.rc 中指定的不同语言构建应用程序

c++ - C++中是否可以继承operator()?

visual-studio - 无法打开包含文件: 'pnglibconf.h' :No such file or directory