So, I came across this today about programming templates in C ++, can someone explain to me that A (*) (B) as an argument to the template?
template <class X, class Y, class A, class B> struct replace_type_impl<A(*)(B),X,Y,false> { typedef typename replace_type<A,X,Y>::type (*type)(typename replace_type<B,X,Y>::type); };
source share