Всем доброго.
Не получается разобраться в одной ситуации (см. название темы), в которой класс wstring ведет себя непонятно. Для наглядности привожу пример.
//Элементарный класс, все просто и понятно.
class a
{
wstring slovo;
public:
a() {slovo = L"???????";}
wstring getSlovo() { return slovo; }
};
wstring getslovof()
{
wstring slovo = L"???????";
return slovo;
}
int main()
{
a sl;
wcout << getslovof() << L"\n"; //Эта строчка срабатывает нормально, вывод идет.
wcout << sl.getSlovo() << L"\n"; //Эта строчка не срабатывает, получаю аварийное завершение программы.
return 0;
}
В общем, посмотрел книги, полистал форумы по части классов и класса wstring, ничего не нашел в своем коде по части ошибки. Все что понял, что сделал что-то не так, при применении в классе "a". При этом, вторую строчку делал через присвоение отдельной переменной wstring и выводил без ошибок через такую переменную. А как сделать так, чтобы пример выше работал без ошибок? Где я ошибся?