C从头文件中导入#defines

Rob*_*ers 1 c macros xcode

我正在使用Xcode开发小C命令行工具,我有一个如下所示的头文件:

#define Bool unsigned char;
#define YES ((Bool) 1);
#define true ((Bool) 1);
#define NO ((Bool) 0);
#define false ((Bool) 0);
Run Code Online (Sandbox Code Playgroud)

在另一个.c文件中,我正在导入头文件

#include "Definitions.h"

每当我使用BooltruefalseXcode给我以下警告:

类型说明符缺失,默认为'int'

宣言没有声明任何内容

对于这样的函数:

在此输入图像描述

如果我取出include "Definitions.h"并且只是将定义放在c文件中,则所有警告都会消失.

这里发生了什么?

kdo*_*pen 5

从您的#define陈述中删除所有分号!

除此之外,没有必要定义这些类型.他们已经有在<stdbool.h>这给你bool,truefalse.