Witam. Zastanawia mnie dlaczego żeby "naprawić" obiekt cin po nieprawidłowym wczytaniu danych muszę wywołać wyżej wymienione metody w takiej a nie innej kolejności.
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
Na moją logikę kolejność czyszczenie bufora i resetu flag błędów nie powinna mieć znaczenia. Czy mógłby mi ktoś to wytłumaczyć ? Ewentualnie wrzucić screena z dekompilacji tego żebyśmy wspólnie zobaczyli co się dzieje :)
Dodam jeszcze że jeśli wywoła się je odwrotnie to flagi błędu nie są czyszczone