我正在使用代码块而我无法使stoi()
功能正常工作。我读了关于这个问题的其他问题,但我无法解决。我检查了C + 11,我使用的是命名空间std,我有字符串标题。我不知道怎样才能解决这个问题。
error: 'stoi' was not declared in this scope
答案 0 :(得分:1)
在几乎相同的问题上找到答案here:
"您的MinGW似乎需要一个补丁:Enabling string conversion functions in MinGW"
通过此链接,您可以下载.zip,而不是按照说明进行操作。
此补丁启用以下C ++ 11函数列表和 std命名空间中的模板:
stoi, stol, stoul, stoll, stof, stod, stold, to_string, to_wstring
注意,在使用复制/粘贴后,您可能会在以后的版本中出现错误:
"人们应该注意直接替换文件并不能保证在MinGW GCC 4.7之后的版本上安全 - 使用pastebin片段,打开文件,评论/添加到现有文件。如此应用,这仍然适用于MinGW GCC 4.8.1 afai"
答案 1 :(得分:0)
我会在atoi
返回的值上使用str.data()
,因为它在所有编译器版本中都受支持。
答案 2 :(得分:0)
使用
#include <string>
那应该有用。供参考:C++11 standard plus minor editorial changes.
或者您可能忘记使用std::
前缀?
解决方法是调用.c_str()
并使用<cstdlib>
或<stdlib.h>
函数。