Почему Visual Studio 2017 показывает ошибку при использовании std :: wstring? - PullRequest
2 голосов
/ 07 марта 2019

Я просто хочу использовать std::wstring в своем коде только для целей обучения, но когда я запускаю этот код (ниже) с помощью Visual Studio 2017, он показывает мне ошибку (ниже кода).

код:

#include<string>
#include<iostream>
#include "pch.h"

int main() {
    double f = 23.32;
    std::wstring f_str = std::to_wstring(f);
    std::wcout << f_str;
}

ошибка:

Error   C2039   'wstring': is not a member of 'std'

1 Ответ

8 голосов
/ 07 марта 2019

Вы используете предварительно скомпилированный заголовок "pch.h".

Заголовок "pch.h" должен быть включен перед всеми остальными заголовочными файлами.

Если предварительно скомпилированный заголовочный файл - "pch.h", а параметр компиляции - /Yu, Visual Studio не будет ничего компилировать до #include "pch.h" в исходном файле; он предполагает, что весь код в исходном коде, включая эту строку, уже скомпилирован.

Так что вам просто нужно изменить порядок включения файлов заголовков так, чтобы "pch.h" был первым включаемым заголовком.

...