2011-12-21 21 views

risposta

33

È possibile utilizzare decltype.

decltype(myfun()) myvar; 
// or 
typedef decltype(myfun()) myfun_ret; 
myfun_ret myvar2; 

E se la funzione succede ad avere parametri, è possibile produrre i parametri falsi con std::declval.

#include <utility> 

int my_other_fun(foo f); 
typedef decltype(myfun(std::declval<foo>())) my_other_fun; 
6

Questo è il lavoro di decltype:

decltype(myfun()) myvar; 
9

decltype è tuo amico:

decltype(myfun()) myvar; 
Problemi correlati