У меня был код:
std::string st = "SomeText";
...
std::cout << st;
и это сработало нормально. Но теперь моя команда хочет перейти на wstring
.
Поэтому я попробовал:
std::wstring st = "SomeText";
...
std::cout << st;
но это дало мне ошибку компиляции:
Ошибка 1 ошибка C2664: "Станд:: basic_string < _Elem, _Traits, _Ax > :: basic_string (Const std:: basic_string < _Elem, _Traits, _Ax > &) ': не может преобразовать параметр 1 from 'const char [8]' to '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"
.
Что я делаю неправильно?