[Bug c++/28945] extracting the function pointer from a bound pointer to member function doesn't work.

pluto at agmk dot net gcc-bugzilla@gcc.gnu.org
Mon Sep 4 06:33:00 GMT 2006



------- 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



More information about the Gcc-bugs mailing list