|
Boost Users : |
From: Duane Murphy (duanemurphy_at_[hidden])
Date: 2005-01-27 22:48:53
--- At Thu, 27 Jan 2005 18:31:22 -0700, Jonathan Turkanis wrote:
>Duane Murphy wrote:
>> How do I work around this problem with bind?
>>
>> #include <boost/bind.hpp>
>>
>> namespace
>> {
>>
>> class functions
>> {
>> public:
>> int func( int );
>> int func( int, int );
>> };
>>
>> void test()
>> {
>> functions a_func;
>>
>> boost::bind(
>> functions::func, a_func, 1, _1 );
>> }
>>
>> }
>
>This looks like it should work (after adding an ampersand in front of
>functions::func) .... Works of VC7.1 and GCC 3.4.2.
>
>> As I recall there was some way of helping bind to pick one of the
>> overloaded functions using a typedef or something similar. (Maybe that
>> was function?).
>
>See this thread.
>
>http://lists.boost.org/MailArchives/boost/msg69451.php
>
>This message has an example almost the same as yours:
>
>http://lists.boost.org/MailArchives/boost/msg69561.php
Thanks! That's what I needed to give me the solution.
#include <boost/bind.hpp>
namespace
{
class functions
{
public:
int func( int ) const;
void test() const;
protected:
int func( int, int ) const;
};
void functions::test() const
{
int (functions::* func_1)( int, int ) const
= &functions::func;
boost::bind( func_1, *this, 1, _1 );
}
}
This is a much more like what I was battling.
(Thanks for reminding me about the list archives as well.)
...Duane
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