繁体   English   中英

避免在C中重新定义枚举

[英]Avoiding redefinition of enums in C

我需要有关如何进行这项工作的说明(如果可能的话)。

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

#ifndef _TABLE_H
#define _TABLE_H

typedef enum BOOL { false, true } Boolean;

#endif //_TABLE_H

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

typedef enum BOOL { false, true } bool;

我希望能够同时使用两者,我该怎么做?

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

typedef enum BOOL bool;

因此,您有以下内容:

文件1.h

#ifndef _TABLE_H
#define _TABLE_H

typedef enum BOOL { false, true } Boolean;

#endif //_TABLE_H

文件2.h

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

在这里,您将在File1.h中提供BOOL定义。 File2.h您仅提供别名。
注意:如果只在File1.h提供减速度,然后将BOOL定义放在另一个文件中,那会更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM