2011-12-21 5 views

Respuesta

33

Puede usar decltype.

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

Y si la función pasa a tener parámetros, se puede producir falsos con parámetros std::declval.

#include <utility> 

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

Este es el trabajo de decltype:

decltype(myfun()) myvar; 
9

decltype es su amigo:

decltype(myfun()) myvar; 
Cuestiones relacionadas