enum bool的typedef在编译中返回错误

时间:2017-04-28 09:42:31

标签: c

我想定义bool类型(枚举格式)

typedef enum bool_enum {
    false, 
    true,
} bool;

但是在编译中返回了以下错误

error: expected identifier before numeric constant
  false, 
error: expected ‘;’, identifier or ‘(’ before ‘_Bool’
 } bool;

枚举类型定义有什么问题?

1 个答案:

答案 0 :(得分:3)

您可能包含<stdbool.h>,其中通常包含:

#define true   1
#define false  0

所以你的名字不好,它们与标准标题相撞(当然也会定义名称bool本身)。

删除它,只需使用<stdbool.h>就是我的建议。