Salve gente, per semplificarmi la vita mi sono creato 2 funzioni:
il fatto è che se faccio un programma dove faccio: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); } }
come mai? com'è possibile?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..