当我使用std :: wstring时,为什么Visual Studio 2017向我显示错误?

时间:2019-03-07 08:40:11

标签: c++ visual-studio-2017 std

我只是想在代码中使用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 个答案:

答案 0 :(得分:8)

您使用的是预编译头文件"pch.h"

标头"pch.h"应该包含在所有其他标头文件之前。

如果预编译的头文件是"pch.h",编译选项是/Yu,则Visual Studio将不会在源文件中的#include "pch.h"之前编译任何东西;它假定源中直至该行(包括该行)的所有代码均已编译。

因此,您只需要更改头文件的包含顺序,以使"pch.h"是要包含的第一个头。