当我尝试使用std :: stoi并尝试编译它时,我收到错误消息“stoi不是std的成员”。我从命令行使用g ++ 4.7.2所以它不能是IDE错误,我按顺序包含所有我的包含,而g ++ 4.7.2默认使用c ++ 11。如果有帮助,我的操作系统是Ubuntu 12.10。有没有我配置的东西?
#include <iostream>
#include <string>
using namespace std;
int main(){
string theAnswer = "42";
int ans = std::stoi(theAnswer, 0, 10);
cout << "The answer to everything is " << ans << endl;
}
不会编译。但它并没有错。
答案 0 :(得分:16)
答案 1 :(得分:4)
对于旧版本的C ++编译器不支持stoi。对于旧版本,您可以使用以下代码段将字符串转换为整数。
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main() {
string input;
cin >> input;
int s = std::atoi(input.c_str());
cout<<s<<endl;
return 0;
}