存在一个现有的枚举
typedef enum
{
myEnum_front = 11,
myEnum_back = 19
} myEnumSides;
Run Code Online (Sandbox Code Playgroud)
我想创建另一个枚举new_myEnumSides,它的值应该映射到 的值myEnumSides。从今往后,我将使用new_myEnumSides而不是myEnumSides. 下面的代码可以用于此目的吗?
typedef enum
{
new_myEnum_front = myEnumSides::myEnum_front,
new_myEnum_back = myEnumSides::myEnum_back
} new_myEnumSides;
Run Code Online (Sandbox Code Playgroud)
或者,还有更好的方法?
我无法想象为什么你需要这样做......如果你不需要重命名枚举的值,你可以只创建第一个变量的另一个变量,而不添加另一个枚举(我相信这不是你的案例,但还是要指出这个机会):
typedef enum
{
myEnum_front = 11,
myEnum_back = 19
} myEnumSides, new_myEnumSides;//<-- just add the new variable here
Run Code Online (Sandbox Code Playgroud)
如果您确实想重命名它(我相信这就是您的情况),您不应该使用运算::符,而只需编写:
typedef enum
{
myEnum_front = 11,
myEnum_back = 19
} myEnumSides;
typedef enum
{
new_myEnum_front = myEnum_front,
new_myEnum_back = myEnum_back
} new_myEnumSides;
Run Code Online (Sandbox Code Playgroud)
::仅当枚举位于类、结构或命名空间内时才应使用该运算符,否则::不需要。