Ho compilato questo codice a casa sul mio mac w/xcode e non ci sono state prove. Compilo a scuola con g ++ su Linux e ottengo questi errori:'numeric_limits' non è stato dichiarato in questo ambito, nessuna funzione di corrispondenza per la chiamata a 'max()'
: 'numeric_limits' non è membro di std
: atteso primaria espressione prima di '>' token
: nessuna funzione di corrispondenza per la chiamata al '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;
}
Sono geussing forse devo includere un'intestazione extra. Se mi togli lo std :: appena mi dà un errore simile
‘numeric_limits’ non è stato dichiarato in questo ambito
Quando leggi la documentazione di 'numeric_limits' per imparare come usarlo, non ti dice in quale intestazione si trova? –
sì, ma è passato un po 'di tempo, e solo di recente ho copiato il codice del mio altro progetto senza rendermene conto. –