stoi()CodeBlocks无法正常工作

时间:2014-04-14 14:43:37

标签: c++ codeblocks

我正在使用代码块而我无法使stoi()功能正常工作。我读了关于这个问题的其他问题,但我无法解决。我检查了C + 11,我使用的是命名空间std,我有字符串标题。我不知道怎样才能解决这个问题。

error: 'stoi' was not declared in this scope

3 个答案:

答案 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

注意,在使用复制/粘贴后,您可能会在以后的版本中出现错误:

正如Conduit所说here

  

"人们应该注意直接替换文件并不能保证在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>函数。