繁体   English   中英

在名称空间std中没有名为stoi的成员

[英]No Member named stoi in namespace std

我正在测试下面链接中找到的std::stoi函数: http std::stoi
但是我得到了错误:

在名称空间std中没有名为stoi的成员。

我该怎么办? 请指教谢谢。

PS:我正在使用Xcode Ide来做我的c ++。

#include <iostream>
#include <string>

int main()  {
   std::string test = "45";
   int myint = std::stoi(test);
   std::cout << myint << '\n';
}

图片

命名空间'std'中没有名为stoi的成员

错误

std::stoi仅在C ++ 11之后可用。 如果你没有C ++ 11支持,这里是基于std::istringstream的C ++ 03解决方案:

std::string test = "45";
std::istringstream is(test);
int myInt;
if (is >> myInt)
    std::cout << myint << std::endl;

你只需要#include <sstream>

首先,您需要一个支持C ++ 11的编译器,并且需要以“C ++ 11模式”(在某些情况下)进行编译。

其次,如果这实际上是一个intellisense问题(看起来可能是这样),那么它可能只是你的IDE还不支持C ++ 11。

如果你可以使用stdlib.h ,那么使其工作的其他方法是使用atoi(const char *)

int myint = atoi(test.c_str());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM