You want to do this
typedef void(TT::*Ptr1)(int, int);
typedef void(TT::*Ptr2)(double, double);
And fix hello function to take a pointer to this
since you need the this pointer to call a function on an object.
void hello(TT* obj,Ptr1 x, Ptr2 y){
(obj->*x)(1,2);
}
Check this post out for more information on member function pointers.