В настоящее время я работаю над довольно простым кодом. Я пытаюсь проверить вход пользователя так, что если это не что иное, как число, как было запрошено, появится сообщение об ошибке, и будет запрошен новый вход. Я использую цикл while, который должен быть сброшен при нажатии на оператор continue, однако он всегда заканчивается тем, что он попадает в бесконечный цикл, повторяя сообщение об ошибке, если есть недопустимый ввод. Любая помощь будет оценена, спасибо!Оператор C++ continue, ведущий к бесконечному циклу
while (tester != 1){
cout << "Enter your answer: ";
cin >> userInput;
if (cin.fail()){ //check if user input is valid
cout << "Error: that is not a valid integer.\n";
continue; //continue skips to top of loop if user input is invalid, allowing another attempt
} else{
tester = 1; //Tester variable allows loop to end when good value input
}
}
См [Почему моя программа идти в бесконечный цикл, когда кто-то вводит неверный входной символ] (http://www.parashift.com/c++-faq /stream-input-failure.html)? –