Salve gente, per semplificarmi la vita mi sono creato 2 funzioni:
codice:
template <class tipo>
void keyb_set(tipo &var){
std::string str;
std::getline(std::cin,str);
if (str == "exit" or str == "EXIT"){
exit(0);
}
std::stringstream(str)>>var;
}
void keyb_set(std::string &str){
std::cin>>str;
if (str == "exit" or str == "EXIT") {
exit(0);
}
}
il fatto è che se faccio un programma dove faccio:
codice:
int n;
int n1;
string s;
keyb_set(s);
..operazioni..
keyb_set(n); //questa operazione viene saltata!!! n si prende il valore di 0 e Da qui torna a funzionare!
..operazioni...
keyb_set(n1); //funziona..
come mai? com'è possibile?