【发布时间】:2016-01-03 19:41:35
【问题描述】:
因此,此错误已多次解决,但没有任何答案对我有帮助。我在 Windows 10 上使用 Notepad++ 和 Cygwin。我的代码如下,来自Derek Banas's 1 hour C++ tutorial:
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <cstdlib>
#include <sstream>
//#include <stdlib.h>
using namespace std;
int main(){
string numberGuessed;
int intNumberGuessed = 0;
do {
cout << "Guess between 1 and 10: ";
getline (cin,numberGuessed);
intNumberGuessed = stoi(numberGuessed);
cout << intNumberGuessed << endl;
} while (intNumberGuessed != 4);
cout << "You Win" << endl;
return 0;
}
这是我得到的错误:
$ g++ -std=c++11 -static ctut.cpp
ctut.cpp: In function ‘int main()’:
ctut.cpp:15:43: error: ‘stoi’ was not declared in this scope
intNumberGuessed = stoi(numberGuessed);
你看我已经应用了之前回答的线程中的所有建议。有什么我想念的吗?我必须开始使用Ming吗?由于 Notepadd++ 是我在此处的另一个主题中发现的最受好评的。这是我发现并尝试但没有用的: Function stoi not declared
【问题讨论】:
-
如果将
stoi替换为std::stoi会怎样? -
@oLen 已经有
using namespace std;? -
@oLen
$ g++ -std=c++11 -static ctut.cpp ctut.cpp: In function ‘int main()’: ctut.cpp:15:25: error: ‘stoi’ is not a member of ‘std’ intNumberGuessed = std::stoi(numberGuessed); -
所以你在编译时设置了
-std=c++11选项? -
@πάνταῥεῖ 是的
$ g++ -std=c++11 -static ctut.cpp我已经尝试过使用或不使用这些选项。