Originariamente inviato da oregon
codice:
ptrFuncMembro = &SomeClass::functionx;
ok, ora sto usando il puntatore creato nel main, in modo che usi la funzione membro a cui punta in modo da fare l'operazione che essa fa, ad esempio mi aspettavo qualcosa del tipo (cioè simile al caso di puntatori a funzioni definite in main):
codice:
int somma(int a, int b);
...
int (*puntatore)(int ,int); int risultato;
puntatore = somma;
risultato = puntatore(2,4);
...
int somma(int a, int b)
{
return a+b;
}
così ho tentato qualcosa del tipo:
codice:
typedef void (SomeClass::* PFM)(int);
PFM ptrFuncMembro;
ptrFuncMembro = &SomeClass::functionMembro;
cout<<"\nDa main chiamo il puntatore alla funzione membro che restituisce.." <<ptrFuncMembro(55)<<endl;
ma dice il compilatore dà responso negativo (E2314 Call of nonfunction) , anche con *ptrFuncMembro(55) non compila (E2069 Illegal use of member pointer)