我将#define宏与另一个#define中的变量一起使用,但是##不起作用! 请帮忙!
#define _var 0b1010
#define JOIN(var1, var2) var1 ## var2
int main()
{
int num1 = JOIN(0b1010, 1010); // <== This works!
int num2 = JOIN(_var, 1010); // <== This does not work!
return 0;
}
答案 0 :(得分:3)
##
不会在其操作数中扩展宏。您需要将JOIN
包装到另一个宏中才能解决此问题:
#define JOIN(var1, var2) JOIN_(var1, var2)
#define JOIN_(var1, var2) var1##var2