如何将C ++宏扩展为以逗号分隔的参数列表?

时间:2016-11-02 12:59:18

标签: c++ macros c-preprocessor

鉴于以下宏扩展:

#define process_detail(name, arg1, arg2, arg3) name,arg1,arg2,arg3
#define process(x) process_detail(expand_args(x)))

我想将arg0(arg1,arg2,arg3)扩展为四个参数arg0,arg1,arg2,arg3 如何编写expand_args(...)宏?

e.g。在上面的例子中,调用进程(a(b,c,d))应该扩展为a,b,c,d 基本上,expand_args()宏应该删除括号并在第一个值之后插入逗号。

0 个答案:

没有答案