微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“to_string”不是“std”的成员?

好吧,我有

tmp.cpp:

#include <string> int main() { std::to_string(0); return 0; }

但是当我尝试编译时,我得到:

$ g++ tmp.cpp -o tmp tmp.cpp: In function 'int main()': tmp.cpp:5:5: error: 'to_string' is not a member of 'std' std::to_string(0); ^

我正在运行g ++版本4.8.1。 不像所有其他引用这个错误,我发现那里,我不使用MinGW,我在Linux(3.11.2)。

为什么我的DX11游戏中加载了D3D10SDKLayers.dll?

在哪里可以在系统上安装SDK DLL,以便可以通过需要它们的应用程序find它们

有关NTFS更改日志USNlogging的问题

fcntl:打开和closures磁盘缓冲

是什么让g ++包含GLIBCXX_3.4.9?

任何想法为什么发生这种情况? 这是标准的行为,我做错了什么或有一个错误的地方?

如何获得在Linux(Ubuntu的)video捕捉设备(networking摄像头)列表? (C / C ++)

为什么叫重叠I / O?

C(在win32上):如何解决日光大于1的值?

c ++ 11移不行有效?

C#Windows通用10 TopMost窗口

你可能想要指定C ++版本

g++ -std=c++11 tmp.cpp -o tmp

我手头没有gcc 4.8.1,但在GCC的旧版本中,可以使用

g++ -std=c++0x tmp.cpp -o tmp

至少gcc 4.9.2我相信也可以通过指定来支持C ++ 14的一部分

g++ -std=c++1y tmp.cpp -o tmp

更新:gcc 5.3.0(我正在使用cygwin版本)现在支持-std=c++14和-std=c++17 。

to_string与最新版本的C ++版本一起使用。对于旧版本,您可以尝试使用此功能

template <typename T> string ToString(T val) { stringstream stream; stream << val; return stream.str(); }

通过添加模板,您也可以使用任何数据类型。 你必须在这里包含#include<sstream> 。

我最初认为这是DevC ++的MinGw编译器的限制。 但是,编译器Options>Settings>Code Generation>Language standard>中的一个小改动将其设置为ISO C++ 11 。

那么它应该工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐