C从头文件中导入#defines

时间:2016-07-20 21:54:02

标签: c xcode macros

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

#define Bool unsigned char;
#define YES ((Bool) 1);
#define true ((Bool) 1);
#define NO ((Bool) 0);
#define false ((Bool) 0);

在另一个.c文件中,我像这样导入头文件

#include "Definitions.h"

每当我使用Booltruefalse Xcode时,我都会收到以下警告:

  

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

     

宣言没有宣布任何内容

对于这样的函数:

enter image description here

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

这里发生了什么?

1 个答案:

答案 0 :(得分:5)

#define语句中删除所有分号!

除此之外,没有必要定义这些类型。它们已经在<stdbool.h>中,为您提供了booltruefalse