gpt4 book ai didi

c - 避免在 C 中重新定义枚举

转载 作者:太空宇宙 更新时间:2023-11-04 04:22:41 25 4
gpt4 key购买 nike

我需要一个关于如何进行这项工作的解释(如果可能的话)。

因此,在我的头文件中,我有一个 BOOL 类型的枚举声明,其中包含我应该实现的一些例程。

#ifndef _TABLE_H
#define _TABLE_H

typedef enum BOOL { false, true } Boolean;

#endif //_TABLE_H

我在一个文件中使用这个接口(interface),该文件定义了各种使用 bool 类型(这次不是 bool 值)的例程

typedef enum BOOL { false, true } bool;

我想同时使用两者,我该怎么做?

最佳答案

在您提供的代码中,您正在重新定义 BOOL。因此,为避免重新定义 BOOL,请在为 bool 提供定义时执行以下操作:

typedef enum BOOL bool;

所以你有以下内容:

File1.h

#ifndef _TABLE_H
#define _TABLE_H

typedef enum BOOL { false, true } Boolean;

#endif //_TABLE_H

File2.h

#include <File1.h>
...
typedef enum BOOL bool;
...

在这里,您在 File1.h 中提供了 BOOL 的定义。在 File2.h 中,您只是提供了一个别名。
注意:如果您只在File1.h 中提供减速并将BOOL 的定义放在其他文件中会更好。

关于c - 避免在 C 中重新定义枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44898482/

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