簡體   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