2013-02-01 41 views
5

我發現自己總是追加枚舉的名稱,它的值,因爲否則我經常與其他枚舉衝突,例如:確保用C枚舉名的唯一無添加長前綴

typedef enum 
{ 
    A_ONE, 
    A_TWO, 
} A; 

typedef enum 
{ 
    B_ONE, 
    B_TWO, 
} B; 

有一個更好的方式來做到這一點在C?

+1

相關:http://stackoverflow.com/q/2161940/335858(簡短答案是「否」)。 – dasblinkenlight

+1

問題的另一個例子:'enum fruit {orange,apple,banana};枚舉顏色{紅色,橙色,黃色,綠色,藍色,靛藍,紫色};' –

回答

2

不,沒有。 C++具有名稱空間或枚舉(IIRC)中存在的枚舉,但C在這方面非常原始。

-1

這是你自己的決定,但你可以使用#define指令

#define WHAT_EVER TO_BE_REPLACED

定義將從WHAT_EVER在你的代碼被替換爲TO_BE_REPLACED

在預處理程序運行後拋出代碼後,所有代碼都將被替換。

+1

這是如何解決問題的問題? –