Ok scusa (sai l'ignoranza...abbi pazienza). Fondamentalmente voglio anche il controllo sul tipo numerico. Ma la tua funzione che devo dire è davvero ben scritta e ti sono grato di averla condivisia risolve cmq il problema. Semplicemente se una variabile la voglio int dall'utente (è su questo che voglio il controllo, se mi sbaglio a mettere un punto e non me ne accorgo o mi confondo nell'immettere il dato...) la dichiaro float e poi, dopo il check che fa la tua template ho un altro while che va a verificare che sia int attraverso il cast (int)var-var!=0...quindi in qualche modo va benissimo così, grazie ancora.
codice:
float var;
do{
var = AcquireInput(cout,cin,"insert int: ", "invalid input");
}while( ((int)var-var) != 0 );