错误:未在此范围内声明'stoi'(Windows 10上的Code :: Blocks 16.01)

时间:2017-01-05 18:48:04

标签: c++ c++11 windows-10 codeblocks

我收到错误:'stoi'未在此范围内声明。

#include <string>
using namespace std;
...
int x;
x = stoi(arg[0]);

我在Windows 10上使用-std = c ++ 11设置运行Code :: Blocks 16.01。

我在此页面上找不到任何有用的信息: ‘stoi’ was not declared in this scope

我在某处看到升级gcc可以解决此问题,但我在页面上找不到合适的安装:https://mingw-w64.org/doku.php/download

相同的代码在Linux Mint 17.3上的Code :: Blocks 13.12中运行良好。

这个问题是否有推荐的解决方法?可以通过使用64位版本的MinGW来解决这个问题(假设它与Code :: Blocks 16.01兼容)吗?

更新 有一个解决方法,使用atoi和c_str代替:

x = atoi(arg[0].c_str());

1 个答案:

答案 0 :(得分:2)

我认为这是MinGW的一个错误。有关更多信息,请查看this StackOverflow post。具体而言,DRH的答案。