c++ - 为什么 Visual Studio 2017 在我使用 std::wstring 时显示错误?

标签 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'

最佳答案

您正在使用预编译的 header "pch.h"

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

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

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

关于c++ - 为什么 Visual Studio 2017 在我使用 std::wstring 时显示错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55039388/

相关文章:

c++ - 是否有可能让 Visual Studio 2017 将 c++ 代码编译成 exe 以外的文件类型?

c++ - std::move 与 std::auto_ptr 相比?

c++ - const char* 和字符串比较在 C++ 中如何工作?

c++ - 如何在用户创建的库中打开 Windows 资源管理器?

c# - 有没有办法为 VS2017 即时创建 TestMethods?

c++ - 如何迭代 std::list<AbstractType*>

c++ - 为什么 std::find( s.begin(), s.end(), val ) 对于 set<int> s 比 s.find(val) 慢 1000 倍?

c++ - 在滚动区域内定位可调整大小的小部件

c++ - OpenGL 纹理映射错误

asp.net-core - 在 asp.net core 应用程序的调试窗口中显示 NLog 输出