cin.ignore(std::numeric_limits<std::streamsize>::max()



代码:

#include <iostream>
using namespace std;
int main() {
int num;
while (true) {
cin >> num;
if (cin.fail()) {
cout << "Enter an integer: ";
cin.clear();
cin.ignore(std::numeric_limits<std::streamsize>::max(), 'n');
continue;
}
else {
cout << num;
break;
}
}
return 0;
}

它在第11行给了我这个错误:
名称空间"std";没有成员";numeric_limits">
不允许使用类型名称
没有重载函数的实例"max";匹配参数列表

这是的屏幕截图

我很抱歉问了这个模糊的问题,我不明白cin.ignore((函数是如何工作的。

您必须添加

#include <limits>

要使用std::numeric_limits,请将其添加到代码的顶部。

最新更新