当前位置: 首页 > 面试题库 >

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

丁高峯
2023-03-14
问题内容

好吧,我有

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现在。



 类似资料:
  • 它可能是重复的,但我尝试了所有我在StackOverflow上找到的解决方案。 我不能使用但我不能。我尝试修改我的makefile太多次了。我的最后一个配置是: Android.mk LOCAL_PATH:=$(调用my-dir) 包括$(LOCAL_PATH)/jsoncpp/android.mk 包括/users/rafaelruizmunoz/desktop/androiddevelopme

  • 我试图在C类中实现一个返回模板参数的constexpr成员函数。代码应该是c 11兼容的。然而,当模板化的类还包含STL容器作为数据成员时,比如STD::vector(const expr成员函数不涉及它),我会遇到编译问题。 以下代码给出了一个最小的示例: 代码使用命令正确编译 g -std=c 14 -O3 快速测试.cpp -o 测试 -Wall clang-STD = c 11-O3 qu

  • 请考虑以下类: 现在,应该启动执行的线程,因此它的实现方式如下: 这在g++-4.6.3中是完美无缺的,但在g++-4.5.2中就不行了,错误消息是 include/C++/4.5.2/Functional:180:9:error:必须使用“.”或“->”调用std::declval with_tp=void(foo::*)(长无符号int),typename std::add_rvalue_re

  • 我使用的是hadoop 2.7.2、hbase 1.4.9、spark 2.2.0、scala 2.11.8和java 1.8。我运行此命令时没有任何错误: 然后我运行这个命令: 我只是有这个错误: : 57:错误:value createOrReplace eTempView不是org.apache.spark.rdd.RDD[(org.apache.hadoop.hbase.io.ImMuta

  • 我试图将couchBase服务器连接到EMR Spark 1.4.1,但遇到了 我还需要配置什么吗?因为我使用的是AWS EMR,所以我假设我不需要修改.sbt文件?我想我已经在指定连接到spark-shell时导入了包,或者在line(command)7中导入了包?

  • 我从这里得到上面的错误消息: 特别是从第二行。。进口是 akka版本是2.2.1,scala是2.10.2,我正在使用sbt 0.13来构建它。 编辑:我用 结果如下: