【发布时间】:2012-09-05 12:24:29
【问题描述】:
有一个现有的枚举
typedef enum
{
myEnum_front = 11,
myEnum_back = 19
} myEnumSides;
我想创建另一个枚举new_myEnumSides,它的值应该映射到myEnumSides 的值。因此,我将使用new_myEnumSides 而不是myEnumSides。
下面的代码可以用于此目的吗?
typedef enum
{
new_myEnum_front = myEnumSides::myEnum_front,
new_myEnum_back = myEnumSides::myEnum_back
} new_myEnumSides;
或者有没有更好的方法?
【问题讨论】:
-
我能问一下你为什么要这样做吗?
-
新的枚举将用于向客户公开的层。
-
看起来没问题,除了
typedef语法是不必要的:enum myEnumSides { .... };。此外,::语法仅适用于 C++11 类枚举。 C++03 枚举值令人讨厌地存在于全局命名空间中。