Poprawka C ++ do sprawdzania, czy dane wejściowe są liczbą całkowitą [duplikat]

To pytanie ma już tutaj odpowiedź:

Jak odczytywać z pliku wejściowego (plik tekstowy) i sprawdzać poprawność wejścia jako prawidłowej liczby całkowitej? 2 odpowiedzi

na przykład, jeśli wprowadzę „2a”, nie pokaże on błędu ani nie prosi użytkownika o ponowne wprowadzenie wartości. jak to naprawić?

while (std::cin.fail())
{ 
    std::cout << "ERROR, enter a number" << std::endl;
    std::cin.clear();
    std::cin.ignore(256,'\n');
    std::cin >> dblMarkOne;
}
std::cout << "" << std::endl;

questionAnswers(2)

yourAnswerToTheQuestion