“ 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)上。

任何想法为什么会这样?这是标准行为,我做错了什么,还是某个地方有错误?

回答:

您可能需要指定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”不是“ std”的成员吗? 的全部内容, 来源链接: utcz.com/qa/431225.html

回到顶部