有一個現有枚舉地圖一個枚舉另一個枚舉
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;
或者還有更好的方法嗎?
我能問你爲什麼要這樣做嗎? – Aesthete
新的枚舉將用於可能會暴露給客戶的層中。 – ontherocks
看起來沒問題,只是'typedef'語法是不必要的:'enum myEnumSides {....};'。另外,'::'語法只適用於C++ 11類的枚舉。令人討厭的C++ 03枚舉值生活在全局命名空間中。 – juanchopanza