Nurtas Ihram 2022-04-24 12:49 采纳率: 0%
浏览 30

C/C++宏参数的展开问题,逗号和圆括号的优先级?

上文定义

#define MFUNC(a, b, ...) #a #b

下文中

MFUNC(a, (a, b))

为什么会被解析成"a" "(a, b)"而不是"a" "(a"

在标准C/C++中宏参数中圆括号的优先级大于逗号吗?

  • 写回答

1条回答 默认 最新

  • 秋杪 2022-04-24 13:45
    关注

    正因为圆括号优先级高,所以(a,b)被当做一个整体

    评论

报告相同问题?

问题事件

  • 创建了问题 4月24日