我使用了 #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;
}
最佳答案
##
不会扩展其操作数中的宏。您需要将 JOIN
包装到另一个宏中来解决此问题:
#define JOIN(var1, var2) JOIN_(var1, var2)
#define JOIN_(var1, var2) var1##var2
关于c++ - #define var 在另一个#define in C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55473645/