cin.ignore (limity_numeryczne <rozmiar strumienia> :: max (), 'n'); max () nie rozpoznaje tego
Biorę intro do C ++ i używam VStudio 2013 na Win7. Staram się unikać błędnego wprowadzania danych z moich menu i działa we wszystkich z wyjątkiem tego jednego.
cout << "Please choose your second number" << endl;
cin >> move2;
if (move2 < 1 || move2 > size)
{
cout << "That's not a valid move" << endl;
Sleep(2000);
cin.sync();
cin.clear();
}
jedyną różnicą jest to, że w warunku ruchu> zmienna (rozmiar) nie jest liczbą. Kiedy wprowadzam znak, wraca do pytania z prośbą o inne wejście, ale jeśli wprowadzę słowo, to się psuje!
Próbuję użyćcin.ignore(numeric_limits<streamsize>::max(), '\n');
ale kompilator podkreślamax()
i mówi „oczekiwany identyfikator”.
To może być łatwe dla was wszystkich dobrych programistów, ale nie wiem, jak to naprawić. Czy ktoś może mi pomóc?