'numeric_limits' не был объявлен в этой области, нет функции сопоставления для вызова 'max ()'

Я скомпилировал этот код дома на своем Mac с xcode, и никаких проблем не возникло. Я компилирую его в школе с g ++ на linux и получаю следующие ошибки:

: 'numeric_limits' не является членом std
: ожидаемое первичное выражение перед токеном '>'
: нет соответствующей функции для вызова 'max ()'

#include <iostream>
#include <cstdlib>

using namespace std;

int GetIntegerInput(int lower, int upper)
{
    int integer = -1;
    do
    {    
        cin >> integer;
        cin.clear();
        cin.ignore(std::numeric_limits<streamsize>::max(), '\n');  //errors here
    }while (integer < lower || integer > upper);

    return integer;    
} 

Я не понимаю, может, мне нужно добавить дополнительный заголовок. Если я уберу std ::, это даст мне аналогичную ошибку

'numeric_limits' не был объявлен в этой области

20
задан jww 7 August 2015 в 13:26
поделиться