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?

questionAnswers(4)

yourAnswerToTheQuestion