member_function
is the name of the template parameter given in:
template < int* ( foo::*member_function )( void ) >
That is, the template parameter member_function
is a member function of foo
that takes no arguments and returns an int*
.
If an object of type bar
is created with something like bar<&foo::a_member_function> b;
, then the member_function
template parameter is set to the member function foo::a_member_function
. Then, when you call myFunc
, passing it a pointer to a foo
, it will call that member function on that foo
.