我有代码:
std::string st = "SomeText";
...
std::cout << st;
效果很好。但现在我的团队想搬到wstring
. 所以我尝试了:
std::wstring st = "SomeText";
...
std::cout << st;
但这给了我一个编译错误:
错误 1 错误 C2664: 'std::basic_string<_Elem,_Traits,_Ax>::basic_string(const std::basic_string<_Elem,_Traits,_Ax> &)' : 无法将参数 1 从 'const char [8]' 转换为'const std::basic_string<_Elem,_Traits,_Ax> &' D:...\TestModule1.cpp 28 1 TestModule1
在网上搜索后,我读到我应该将其定义为:
std::wstring st = L"SomeText"; // Notice the "L"
...
std::cout << st;
这已编译但打印"0000000000012342"
而不是"SomeText"
.
我究竟做错了什么 ?