stoi 包含了头文件什么还是示错?

这串代码在做题页面可运行,提交上去也是正确的,但是在vc++和codeblocks上就会显示出这个错误。

[b][Error] 'stoi' was not declared in this scope[/b]

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
   string str;
   int year;
   int month;
   cin >> str;
   if (str.size() == 6)
   {
       year = stoi(str.substr(0,4));
       month = stoi(str.substr(4));
   }
   else
   {
       year = stoi(str.substr(0,2));
       month = stoi(str.substr(2));
       if(year < 22)  year += 2000;
       else year += 1900;
   }
   printf("%04d-%02d",year,month);
   return 0;
}

 

 

解决办法:然后在“编译选项”里,选择 语言标准为"ISO C++11"标准即可

再点"代码生成/优化",再点"代码生成",再点"语言标准",选择"ISO C++11"标准,点击确认即可。

 

如果上面还解决不了,可以把你的版本换成 dev c++ 5.11,在设置即可

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

也许对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html
 

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y