C++ stod was not declared

初生牛犊_GDUT 2015-10-31 11:34:43
#include <iostream>
#include <stdlib.h>
#include <string>
#include <fstream>

using namespace std;


int main(int argc, char *argv[])
{
string s = "fed3.14d";
string tmp = "+-.0123456789";
int d = 0;
d = stod(s.substr(s.find_first_of(tmp)));
cout << d;

system("pause");
return 0;
}
error:"stod" was not delcared in this scope
注:使用工具为codeblocks 13.12, 编译器为GUN GCC COMPLIER 已勾选have g++ follow the C++11 ISO C++ language standard
请问问题出在哪里呢?知道stod是C++11的新标准 但是还是有问题啊!!!
...全文
1294 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
初生牛犊_GDUT 2015-10-31
  • 打赏
  • 举报
回复
引用 3 楼 paschen 的回复:
另外stod返回值为double,楼主是用int变量接收,可以使用stoi 或者使用atof、atoi代替上面的这两个
引用 6 楼 paschen 的回复:
应该是,我没试过,楼主用atoi、atof代替吧
恩 目前也只能这样了,不过这样要把string转换成char []才行 也是挺麻烦的。
paschen 版主 2015-10-31
  • 打赏
  • 举报
回复
应该是,我没试过,楼主用atoi、atof代替吧
初生牛犊_GDUT 2015-10-31
  • 打赏
  • 举报
回复
引用 3 楼 paschen 的回复:
另外stod返回值为double,楼主是用int变量接收,可以使用stoi 或者使用atof、atoi代替上面的这两个
是的 没注意看,刚学到这里随便试了下 发现stod用不了 stoi也用不了。。。这么说codeblocks是没办法编译这个函数啦?
fefe82 2015-10-31
  • 打赏
  • 举报
回复
是 strtod ,不是 stod
paschen 版主 2015-10-31
  • 打赏
  • 举报
回复
另外stod返回值为double,楼主是用int变量接收,可以使用stoi 或者使用atof、atoi代替上面的这两个
paschen 版主 2015-10-31
  • 打赏
  • 举报
回复
我在VS2012下帮你调试没有问题,结果为3
paschen 版主 2015-10-31
  • 打赏
  • 举报
回复
编译器不一定完全支持C++11新标准的所有特性

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧