我无法仅对数字输入进行输入验证。下面是我每次输入字母时都会循环的代码,但输入错误的数字不会。它循环“无效输入,请重试”。唯一的选择是关闭它。我怎样才能解决这个问题?
while (!(cin >> userOption) || userOption < 1 || userOption > 12) {
cout << "Invalid Input, please try again." << endl;
cin >> userOption;
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cin.clear();