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