c++ - #define var 在另一个#define in C

标签 c++ c

我使用了 #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/

相关文章:

c - 使用 Oclint 的 Npath 和圈复杂度

c - 如何在 C 中编译 C 程序?

c++ - 将C++串口奇偶校验更改代码从Linux移植到Windows

c++ - 异常规范和模板

c++ - 如何将 char* 复制到 vector<char> 并检索它?

c - GDB - 不显示调用命令的结果

c++ - 如何用字符串中的数据替换访问说明符?

c++ - 使用 QRegExp 替换 QString 中的单词

c++ - 用于简单包含在大型项目中的单线程共享指针

C 结构对齐