我的代码看起来像这样:
enum EEventID {
eEvent1,
eEvent2,
...
eEventN };
经过审核并更改为
typedef enum {
eEvent1,
eEvent2,
...
eEventN } EEventID;
两者有什么区别?为什么要做出改变?当我看着 this question ,唯一提到 typedef 的地方被否决了。
最佳答案
这两者在 C++ 中是相同的,但在 C 中它们是不同的——在 C 中,如果你使用 typedef,你会得到在 C 和 C++ 之间兼容的代码(因此可以在头文件中自由使用,可能用于 C 或 C++)。这是我能看到的偏爱它的唯一原因。
关于c++ - 为什么我应该在 C++ 中使用 typedef 声明一个枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3817914/