将“L”添加到字符串文字可以使其成为宽字符串,而不是变量

时间:2016-09-28 19:09:24

标签: c++ string widechar widestring

#define STR16(x) L ## x在应用于字符串文字时起作用:

STR16("Hello")     // fine, this is translated to L"Hello"

但不是变量:

STR16(x)     // fails, this is translated to Lx, and the variable Lx doesn't exist

line 200 of this useful library中,有一个错误:

Parameter* param = new RangeParameter( STR16(p->GetNameForHost()), ...

将被翻译为

Parameter* param = new RangeParameter( Lp->GetNameForHost(), ...

失败,因为Lp是未声明的标识符。

如何将L添加到字符串文字到字符串变量const char *

0 个答案:

没有答案