------- Comment #4 from pinskia at gcc dot gnu dot org 2006-09-04 06:06 ------- (In reply to comment #3) > > > > this is gnu c++ extension:
Yes but you are using the extension incorrectly anyways as you don't pass this to the function. Did you read that page? extern A a; extern int (A::*fp)(); typedef int (*fptr)(A *); fptr p = (fptr)(a.*fp); While you do: pf f1 = (pf)( o->*pmf ); f1(); Really it should have been: f1(o); -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28945