错误的宏定义导致 "Expected expression" 错误

Wrong macros definition casuses "Expected expression" error

我有这些宏:

#define TRUE 1;
#define FALSE 0;

我想在 if 条件下使用它们,例如:

if (functionThatReturnsIntZeroOrOne() == FALSE) do_something();

但我收到这样的错误信息:

"Expected expression". 

我做错了什么?

您将 FALSE 定义为 0;,将其定义为 0#define FALSE 0,没有分号)。分号包含在定义中,因此 FALSE 被替换为 0;,这会在您的 if 条件中添加一个分号。