我需要解释如何使这项工作(如果可能的话)。
所以,在我的头文件中,我有一个BOOL类型的枚举声明,其中包含一些我应该实现的例程。
#ifndef _TABLE_H
#define _TABLE_H
typedef enum BOOL { false, true } Boolean;
#endif //_TABLE_H
我在一个文件中使用这个接口,该文件使用bool类型定义了各种例程(这次不是布尔值)
typedef enum BOOL { false, true } bool;
我希望能够同时使用它们,我该怎么做?
答案 0 :(得分:0)
在您提供的代码中,您要重新定义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;
...
在此,您要在BOOL
中提供File1.h
的定义。在File2.h
中,您只是提供别名
注意:如果您只是在File1.h
中提供减速并将BOOL
的定义放在另一个文件中,那会更好。