我有这个程序无法为我编译,我不明白为什么,我收到错误“numeric_limits”未在此范围内声明,并且预期主表达式在“int”之前
这是我的代码:
#include <iostream>
#include<string>
#include<vector>
using namespace std;
using std::endl;
using std::vector;
using std::cout;
int main(){
string lName;
int yourAge;
cout << "Please enter your last name: ";
cin >> lName;
cout << " Please enter your age: ";
cin >> yourAge;
cin.ignore(numeric_limits<int>::max(), '\n');
if (!cin || cin.gcount() != 1){
cout << "Invalid age, numbers only please \n";
return yourAge;
}
vector<string> lastNames;
lastNames.push_back("Jones");
lastNames.push_back("Smith");
lastNames.push_back("Whitney");
lastNames.push_back("Wang");
lastNames.push_back(lName);
for(int i = 0; i < lastNames.size(); i++) {
cout << "Names before removal: " << lastNames[i] << endl;
}
lastNames.erase(lastNames.begin()+2);
for(int i = 0; i < lastNames.size(); i++) {
cout << "Names after removal: " << lastNames[i] << endl;
}
}
最佳答案
您没有包含 std::numeric
所在的 header 。
#include <limits>
我建议不要使用 using namespace std;
,而是使用您明确需要的所有名称:
using std::string;
using std::cin;
using std::endl;
using std::vector;
using std::cout;
using std::numeric_limits;
关于c++ - 错误 : "numeric_limits" was not declared in this scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20231259/