enum
元素的名稱是易受重疊/碰撞與兩個其他枚舉元素名,變量名等...避免名稱衝突,在C(C99)枚舉
enum Fruit
{
apple,
orange
};
typedef enum Fruit Fruit;
enum Color
{
red,
orange // <-- ERROR
};
typedef enum Color Color;
char apple='a'; // <-- ERROR
是否有一個兼容的C99溶液避免每個枚舉元素名稱的前綴之外的衝突?
旁註:這個問題已經回答了C++
How to avoid name conflicts for two enum values with the same name in C++?
我正在尋找一個解決方案C99。
是的,使用一個合適的名稱,比如'color_orange'和'fruit_orange'。閱讀時也應避免混淆。 –
除了爲每個枚舉元素名稱添加**之外,是否還有解決方案**? – Paolo
也許,但它可能是一個不好的解決方案,這是一個很好的解決方案,也有助於可讀性。 –