cin.ignore (numeric_limits <streamsize> :: max (), '\ n'); max () erkennt es nicht

Ich mache eine Einführung in C ++ und verwende VStudio 2013 unter Win7. Ich versuche, die falsche Dateneingabe aus meinen Menüs zu vermeiden, und es funktioniert in allen mit Ausnahme dieser.

    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();
    }

Der einzige Unterschied ist, dass in der Bedingung für move> eine Variable (Größe) keine Zahl ist. Wenn ich ein Zeichen eingebe, wird wieder die Frage nach einer anderen Eingabe beantwortet. Wenn ich jedoch ein Wort eingebe, wird es unterbrochen!

Ich versuche es zu benutzencin.ignore(numeric_limits<streamsize>::max(), '\n');&nbsp;aber der Compiler hebt hervormax()&nbsp;und es heißt "Identifikator erwartet".

Es ist vielleicht einfach für euch alle, gute Programmierer, aber ich weiß nicht, wie ich es beheben soll. Kann mir jemand helfen?