5

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

typedef enum
{
    A_ONE,
    A_TWO,
} A;

typedef enum
{
    B_ONE,
    B_TWO,
} B;

在 C 中有没有更好的方法来做到这一点?

4

2 回答 2

2

No, there is not. C++ has namespaces, or enums existing in classes (IIRC), but C is extremely primitive in this regard.

于 2013-02-01T01:13:25.683 回答
-1

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

#define WHAT_EVER TO_BE_REPLACED

定义将从WHAT_EVER您的代码中替换为TO_BE_REPLACED.

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

于 2013-02-01T01:16:51.130 回答