#include <iostream>
#define DEF(A) #A
int main()
{
std::cout << DEF(qwer) << std::endl; //prints: qwer
std::cout << DEF("qwer") << std::endl; //prints: "qwer"
std::cout << DEF("qwer) << std::endl; //error, but I want to print "qwer without a second quote
}
如何将只有一个引号的参数传递给宏?
最佳答案
你不能那样做。
与编译器相比,预处理器对语法的要求要低得多,但您提供给它的仍然必须是一系列有效的标记,而未终止的字符串文字不是有效标记。
关于c++ - 将引号传递给宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44088682/