关于网友提出的“ 关于__VA_ARGS__作为另一个宏的参数输入时的问题”问题疑问,本网通过在网上对“ 关于__VA_ARGS__作为另一个宏的参数输入时的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 关于__VA_ARGS__作为另一个宏的参数输入时的问题描述:
下面编译不通过,有什么方法解决?
#define MACRO(T, t) (T)(t)
#define MACRO_(...) MACRO (__VA_ARGS__)
double d = MACRO(double, 11); //编译通过
double d = MACRO_(double, 11); //编译不通过
解决方案1:
#define M(a1, a2) a1 = a2;
#define MM_(args) M ## args
#define MM(...) MM_((__VA_ARGS__))