У меня был код:
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"
.
Что я делаю не так?