函数 stoi 未声明

新手上路,请多包涵

我正在尝试使用 stoi 将字符串转换为整数,但是它说它没有声明。我有标准库和 <string> 包括在内,但它仍然说 [Error] 'stoi' was not declared in this scope

代码如下:

 #include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>

using namespace std;

int main()
{
string end, init;
cout << "Introduction" << endl;
cout << "Start time (xx:yy)" << endl;
cin >> init;
string hours0 = init.substr(0,2);
int hours = stoi(hours0);
cout << hours << endl;
system("pause");
return 0;

}

请告诉我为什么它不起作用,或者给我第二个选择。

原文由 user3258512 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2k
2 个回答

std::stoi 是在 C++11 中引入的。确保您的编译器设置正确和/或您的编译器支持 C++11。

原文由 Captain Obvlious 发布,翻译遵循 CC BY-SA 3.0 许可协议

我在使用 C++ 进行编程项目时遇到了这个错误,

  1. atoi(),stoi() 不是 g++ 中旧 c++ 库的一部分,因此在编译 g++ -std=c++11 -o my_app_code my_app_code.cpp 时使用以下选项
  2. 在您的代码中包含以下文件 #include < cstdlib >

这应该注意错误

原文由 Nnaik 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏