PDA

View Full Version : [c++]Funzioni template



Hardcore
30th June 2011, 11:19
Non sono sicuro che si possa fare,anche se mi sembra strano.

io ho una classe template




template <typename _T> class classe_A {

public:

_T valore;

};



voglio poter passare un oggetto della classe A ad una funzione f, il cui valore di ritorno è un template,scelgo io.




template <typename _P> _P funzione(classe_A classe_test){

_P tmp;

tmp=classe_test.value(); //Poniamo che value sia double e sto tmp un int, voglio il troncamento

return tmp;
}


sta cosa non funziona,c'è un modo per farlo andare?

Eltarion
30th June 2011, 12:42
Nonho capito bene, la funzione deve essere un metodo della classe template? Credo proprio di si, non credo tu possa fare altrimenti.

Comunque non mi pare tu possa far ritornare a una funzione template un valore template, ma ora controllo meglio.

Hardcore
30th June 2011, 13:50
no la funzione deve essere esterna. Quello che voglio fare in sintesi è una funzione che effetti in automatico il casting, gli passo la classe A con value int e voglio che ritorni double. o viceversa.

Eltarion
30th June 2011, 14:08
capito, quindi quando chiamio questa funzione dovresti passargli anche il tipo che vuoi come ritorno, giusto?