C++出现to_string is not a member of std 或者 to_string was not declared in this scope的解决方法

  C++在将整型、浮点型、长整型等数据类型转换为字符串时,可使用在<string>头文件包含的函数:to_string().

     函数原型如下:

      string to_string (int val);

      string to_string (float val);

      string to_string (double val);

      string to_string (long val);

      string to_string (unsigned val);

      string to_string (unsigned long val);

      string to_string (unsigned long long val);

      string to_string (long long val);

      string to_string (long double val);

      然而在codeblocks等编译环境中,有时候会出现上述问题,原因是mingw编译器不支持to_string()这个方法,这是它的一个bug。

    解决方法(以codeblocks为例):

1.首先你要使用to_string()这个函数,必须让编译器支持C++11的标准,这个函数是C++11提出的,在CodeBlocks > Settings > Global compiler settings > Compiler Flags 中 勾选 Have g++ follow the C++11 ISO C++ language standard,然后点击下方的OK。

2.在此链接中下载 mingw-to-string-gcc47.zip 这个压缩包(http://tehsausage.com/mingw-to-string,可能需要翻墙)。

3.将压缩包解压后,复制wchar.h和stdio.h到你的codeblocks安装路径中的\mingw\include中,将它们替换掉。

再将os_defines.h复制到\mingw\lib\gcc\mingw32\4.x.x\include\c++\mingw32\bits即可运行。

参考文章:http://tehsausage.com/mingw-to-string

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值