cin.clear() nicht zurücksetzen cin-Objekt

Habe ich die folgende Schleife. Es sollte zahlen Lesen, bis EndOfFile oder der Benutzer-input -999

int arr[100];

int index;

for (index = 0; index < 100; index++)
{
 cin >> arr[index];
 if (!cin)
 {
  cin.clear();
  index--;
  continue;
 }
 if (arr[index] == -999)
 {
     break;
 }
}

Wenn der Benutzer die Eingabe einer ungültigen Sache, wie einige chars, diese Schleife wird wiederholt, niemals ohne clearing den Status Fehler oder stoppen.

InformationsquelleAutor | 2011-09-14
Schreibe einen Kommentar