【发布时间】:2018-06-25 10:45:24
【问题描述】:
本质上我想写
MACRO(a, b, c)
并让它产生
"a","b","c"
我尝试使用#__VA_ARGS__,但结果是一个包含所有参数的字符串:
"a, b, c"
这不是我想要的。
【问题讨论】:
-
也许你可以澄清一下调用是否总是 3 个参数
MACRO(a, b, c)或者它是否可以包含任何参数。 -
看起来你需要一些递归的东西:
#define MACRO(a, ...) #a, MACRO(__VA_ARGS__)。最后一个参数无论如何都需要一个特殊情况,因为它后面没有逗号。
标签: c++ c c-preprocessor