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