Boost logo

Boost Users :

Subject: Re: [Boost-users] [phoenix] binding member_functions
From: Joel de Guzman (joel_at_[hidden])
Date: 2008-11-10 20:37:51


Christian Henning wrote:
> Hi there, I think there are some problems with binding functions if
> the class has a const and a non-const version of the same member.
> Please consider the following code:

[snips]

No, it's not a bug. When you get the address of a member function,
there is relly no way in C++ to know which overload you want to
get. You have to state it explicitly with a cast.

The same thing happens with Boost.Bind, for example, try:

    point const p;
    double x = boost::bind( &point::prob, _1 )(p);

and you'll get the exact same error. The Boost Bind docs has a good
explanation on this. See "Binding an overloaded function" here:

     http://www.boost.org/doc/libs/1_37_0/libs/bind/bind.html#Troubleshooting

Regards,

-- 
Joel de Guzman
http://www.boostpro.com
http://spirit.sf.net

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net