【发布时间】:2026-01-16 02:35:01
【问题描述】:
我正在尝试以格式定义宏
#define SUM(x,y) ({log_var = x; log_var += y;})
void main(void)
{
unsigned int log_var;
SUM(10,20);
}
通过 ARMCC 编译相同的内容会引发错误“预期表达式”,但使用 GCC 进行编译不会引发错误。
是 ARMCC 中不允许使用 ({<statements>}); 语法还是有其他原因?
删除括号后同样消失。即{<statements>}
【问题讨论】:
标签: c