------- Comment #5 from pluto at agmk dot net 2006-09-04 06:33 ------- (In reply to comment #4) > (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);
compiler reports an error now. test.cpp:18: error: too many arguments to function -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28945