To declare it without a type alias, without type inference, and without return type:
template<typename TemplateClass> int (TemplateClass::* Testtest(TemplateClass &A))(float,float)
But of course, this is not what you would use in real code. Instead, you should use an alias template :
template<typename T> using return_type = int (T::*)(float,float); template<typename TemplateClass> return_type<TemplateClass> Testtest(TemplateClass &A)
Or output type return in C ++ 14:
template<typename TemplateClass> auto Testtest(TemplateClass &A)
Or returning return type (in C ++ 11):
template<typename TemplateClass> auto Testtest(TemplateClass &A) -> int (TemplateClass::*)(float,float)
emlai source share