gpt4 book ai didi

c++ - 里面有if的宏?

转载 作者:行者123 更新时间:2023-11-30 02:50:58 24 4
gpt4 key购买 nike

有没有可能做这样的事情?看这段代码:

#define MyMacro(...) SomeFunction(arg1, arg2, arg3)

现在,我希望有条件地编译第二个参数:

#define MyMacro(...) SomeFunction(arg1,
#if CONDITION
arg2,
#endif
arg3)

这实际上无法编译,但它显示了我想要实现的目标 - 当 CONDITION 满足时,我希望 MyMacro 使用 SomeFunction 的 3 参数版本 和 2 参数 1 否则。

当然,在这里我可以明确地编写两个函数调用,但在我的程序中我实际上有 3 个“条件”参数,它们会给我 8 种组合。

最佳答案

#if CONDITION
#define ARG2 arg2,
#else
#define ARG2
#endif

#define MyMacro(...) SomeFunction(arg1, ARG2 arg3)

关于c++ - 里面有if的宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20023432/

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