gpt4 book ai didi

c++ - 如何避免来自其他 .cxx 的重复枚举值

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:45:10 25 4
gpt4 key购买 nike

我的代码库中有大量文件。我正在尝试使用具有一个文件 a.h. 的其他库来编译我的代码库。如果我在我的代码库中包含 say a.h 文件,我会遇到编译问题,该文件已经定义了一些具有与 a.h 中定义的枚举相同的值。例如:

在“a.h”头文件中

typedef enum mylist_s
{
FIRST,
SECOND,
THIRD,
FOUR,
::::::
} mylist_e;

在其他 .cxx 文件中,如下所示(如果它的定义与 mylist 中的定义相同)

static const char FIRST = 1;

我知道这里又定义了同一个变量。我不想用新变量更改我的代码库。此外,由于 a.h 包含在 .c 和 .cxx 文件中,我无法使用命名空间将其封装为其他名称。

我也不想更改 a.h 文件中的名称。有没有其他方法可以在不更改枚举值名称的情况下处理这种情况。

提前致谢

最佳答案

C++ namepsace的目的是防止发生名称冲突。

在自定义命名空间内定义所有实现代码应该可以解决该问题。

关于c++ - 如何避免来自其他 .cxx 的重复枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40125873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com