Possible Duplicate:
What does void(U::*)(void) mean?
Considering the following:
template <class T>
class myButtoncb {
private:
T *ptr;
void (T::*cback) (void)
}
What I understand is:
void (*cback) (void)
Which is nothing but a function pointer that to a function that returns void, and takes no argument.
What I dont understand is, what is the importance of T::? Isn’t it enough to declare
only like void (*cback) (void) ?
This says that it’s a member function that has a
thispointer. Otherwise, it would be a free function, wouldn’t have any idea what object it was operating on, and wouldn’t be able to access any non-static member functions or member variables.