我使用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"
每当我使用Bool
或true
或false
Xcode时,我都会收到以下警告:
缺少类型说明符,默认为' int'
宣言没有宣布任何内容
对于这样的函数:
如果我取出include "Definitions.h"
并将定义放在c文件中,则所有警告都会消失。
这里发生了什么?
答案 0 :(得分:5)
从#define
语句中删除所有分号!
除此之外,没有必要定义这些类型。它们已经在<stdbool.h>
中,为您提供了bool
,true
和false
。