gpt4 book ai didi

c - Astyle with --remove-brackets 和一个宏

转载 作者:太空宇宙 更新时间:2023-11-04 05:56:24 25 4
gpt4 key购买 nike

代码:

#define MACRO(A,B) foo(A); bar(B)

if(true) {
MACRO(A,B);
}

Astyle 将移除宏调用周围的括号

if(true)
MACRO(A,B);

幸好我找到了解决办法。如果我将 ; 放在宏中,Astyle 会理解它。

#define MACRO(A,B) foo(A); bar(B);

if(true) {
MACRO(A,B)
}

这是一个好的解决方案,是 Astyle 的错误还是我的误解?

最佳答案

这是一种糟糕的风格。

如果你绝对必须在宏中有多个语句,将它们包装在 do while 循环中(注意末尾没有分号):

#define MACRO(A,B) do { foo(A); bar(B); } while(0) 

关于c - Astyle with --remove-brackets 和一个宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26674910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com