[ERROR]
The current declaration is neither the one of pointer to member nor the one of pointer to member function. But something looking like melting of both.
class A{
public:
int a;
};
typedef int (A::*pm);
Use the standard declaration: for a pointer to member 'type class::*ident' and for a pointer to member function 'type (class::*ident)(param list)'
class A{
public:
int a;
void fct(void);
};
typedef int A::*pmi;
typedef void (A::*pmf)(void);