确保C中的枚举名称唯一性,而不添加长前缀

时间:2013-02-01 01:11:19

标签: c enums c99

我发现自己总是将枚举的名称附加到其值,因为否则我经常与其他枚举冲突,例如:

typedef enum
{
    A_ONE,
    A_TWO,
} A;

typedef enum
{
    B_ONE,
    B_TWO,
} B;

在C中有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

不,没有。 C ++具有名称空间或类(IIRC)中存在的枚举,但C在这方面非常原始。

答案 1 :(得分:-1)

这是您自己的决定,但您可以使用#define指令

#define WHAT_EVER TO_BE_REPLACED

将使用WHAT_EVER替换代码中的TO_BE_REPLACED

在预处理器运行后抛出代码,所有代码都将被替换。