这个错误已经被多次解决,但是没有一个答案能够帮助我。我正在使用Windows 10上的Notepad++和Cygwin。我的代码如下,来自Derek Banas的1小时C++教程:
#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
会怎样呢? - oLenusing namespace std;
了吗? - πάντα ῥεῖ$ g++ -std=c++11 -static ctut.cpp ctut.cpp: 在函数 ‘int main()’ 中: ctut.cpp:15:25: 错误: ‘stoi’ 不是 ‘std’ 的成员 intNumberGuessed = std::stoi(numberGuessed);
- Mohsenstrtol
的工作方式就像那里提到的那样。感谢您提供的链接。虽然我不理解变量0和10,但是答案中提到的atoi
运行良好。根据您提供的链接,我现在明白了为什么会出现这个错误。谢谢。 - Mohsen