salve, sono alle prime armi con il c++, anche se il problema che ho riscontrato non penso dipenda da quello.
io ho un primo sorgente ( http://gnuwes.tuxfamily.org/test/coboldo.cpp ) nel quale, al momento di inserire il valore m, se inserito un valore fuori range ( >INT_MAX o <INT_MIN oppure un tipo di dato non adatto a m che è int) , sembra che salti il controllo e passa a leggere n, tranne poi fermarsi subito e stampare il messaggio di errore di n .
nel secondo sorgente, invece (http://gnuwes.tuxfamily.org/test/coboldo1.cpp), che differisce dal primo solo ed esclusivamente per il fatto che l'ultimissimo cout è spezzato in due righe, tutto funziona a dovere.
se metto un cout<<m; dopo il cin >>m; ritorna un valore del tipo 4197728 , che è interno al range.
in soldoni, sembra che legga solo una parte di m e l'altra parte la legga insieme a n, che ovviamente va fuori range.
il problema è che non capisco che influenza possa avere in questi termini l'ultimissimo cout, che viene chiamato in causa molto più avanti.
qualcuno ha qualche idea?