【发布时间】:2021-11-15 10:14:08
【问题描述】:
在函数参数中使用enum 关键字有什么意义?没有它,它似乎做同样的事情。
enum myEnum{
A, B, C
};
void x(myEnum e){}
void y(enum myEnum e){}
这两者有区别吗?
【问题讨论】:
-
可能是 C 兼容性。 C 对何时将标识符视为类型有不同的规则,并且往往要求您更明确地使用
enum和struct关键字。因此,例如在 C x doesn't compile 中,您实际上需要编写y版本。 C++ 保持与 C 语法的兼容性并没有什么坏处。
标签: c++ scope declaration enumeration name-hiding