假设我有x作为字符串参数#define a(x) "this is x"
的宏。如果我打电话为a(test)
,则形成的字符串应为"this is test"
。
答案 0 :(得分:6)
您期待从宏参数创建字符串,因此正在寻找# operator
。在类函数宏的替换部分中,#
符号成为将标记转换为字符串的预处理运算符。所以你需要
#define a(x) "this is " #x
或
#define a(x) "this is " #x " in the middle."