numeric_limits c++ max ignore cin numeric-limits

numeric_limits - c++ int max value



''numeric_limits'' no se declaró en este ámbito, no hay función coincidente para llamar a ''max()'' (1)

std::numeric_limits incluir el archivo de encabezado <limits> , que es donde se define std::numeric_limits . Tu compilador de Mac te estaba ayudando al incluir automáticamente ese archivo de encabezado; sin embargo, no debe confiar en ese comportamiento e incluir explícitamente cualquier archivo de encabezado que necesite.

Compilé este código en casa en mi Mac con xcode y no había ningún problema. Lo compilo en la escuela con g ++ en linux y recibo estos errores:

: ''numeric_limits'' no es un miembro de std
: expresión primaria esperada antes del token ''>''
: no hay función coincidente para la llamada a ''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; }

Estoy geussing tal vez tengo que incluir un encabezado extra. Si quito el std :: solo me da un error similar

''numeric_limits'' no fue declarado en este alcance