I'm still a novice with bind but I think you have to bind twice:

#include <iostream>
#include <functional>
#include <algorithm>

#include <boost/bind.hpp>
using std::cout;
using std::endl;
using std::equal_to;

class A
{
 int i_;
public:
 int test() {return i_;}
};

class B
{
  A _a;
public:
  A& getA() {return _a;}
};

int main()
{
    B b;

    cout << (1 == boost::bind(&A::test,
            boost::bind(&B::getA, &b))()) << endl;
    return 0;
}


On Wed, Mar 4, 2009 at 2:33 PM, Archie14 <admin@tradeplatform.us> wrote:
I cannot figure out how to use boost::bind in following scenario:

class A
{
 int i_;
public:
 int test() {return i;}
};

class B
{
  A _a;
public:
  A& getA() {return _a;}
}

bool testbind()
{
 B b;

 // here I am trying to find out if b.getA().test() equals 1
 // I understand that B::getA::test is incorrect, and that's my question-
 // how to use bind here?
 return (boost::bind (&B::getA::test, b) ==1);
}




_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users



--
Kevin