我使用的是代码块,无法使stoi()函数工作。我读到了关于这个问题的其他问题,但我无法解决。我检查了C+11,我使用的是命名空间std,并且我有字符串头。我不知道怎样才能解决这个问题。
错误:在此范围内未声明“stoi”
发布于 2015-04-27 10:02:50
在几乎相同的问题( 这里 )上找到答案
“看来您的MinGW需要修补程序:http://tehsausage.com/mingw-to-string”
从这个链接,您可以下载一个.zip,而不是按照说明。
此修补程序在std命名空间中启用以下C++11函数和模板列表: 斯托,斯托尔,斯托夫,斯托德,斯多尔德,to_string,to_wstring
注意,在使用“复制/粘贴”之后,可能会出现较晚版本的错误:
人们应该注意的是,直接替换这些文件并不保证在MinGW GCC 4.7的版本上是安全的--使用pastebin代码段,打开文件,并对现有文件进行注释/添加。因此,这在MinGW GCC 4.8.1 afai上仍然运行良好。
发布于 2014-04-14 14:55:24
我将在atoi返回值上使用str.data(),因为在所有编译器版本中都支持它。
发布于 2014-04-14 15:02:07
使用
#include <string>那应该管用。参考:C++11标准加上一些小的编辑改动。
或者您忘了用std::作为前缀
解决方法是调用.c_str()并使用<cstdlib>或<stdlib.h>函数。
https://stackoverflow.com/questions/23063125
复制相似问题