可能重复:
如何使用宏作为其他宏参数列表之一
#define SUM(a, b, c) (a+b+c)
#define DUPLICATE(a) a, a
int result = SUM(1, DUPLICATE(2)); // equivalent to SUM(1, 2, 2)
我收到这个警告:
warning C4003: not enough actual parameters for macro 'SUM'
我怎样才能避免这个警告并SUM(1, DUPLICATE(2))
扩大到SUM(1, 2, 2)
?