
Dear People, I have defined a function as follows. double accept_prob_fn(const double x, const double be, const double theta, const double a, const double b); Now, I define the temporary function object bind(accept_prob_fn, _1, be, theta, a, b); So this function object would return the first argument, x. However, I want to save this function object to a function object called foo, say. So I want to do something like Type foo = bind(accept_prob_fn, _1, be, theta, a, b); However, the problem I have is that I'm not sure what type foo should be. I forced an error with my compiler (to try to see what it thought the type of the rhs should be) by using Type as double, but all I got was brent.cc:9: cannot convert `boost::_bi::bind_t<double, double (*)(double, double, double, double, double), boost::_bi::list5<boost::arg<1>, boost::_bi::value<double>, boost::_bi::value<double>, boost::_bi::value<double>, boost::_bi::value<double> > >' to `double' in initialization Eww. I've tried looking at the documentation, but I find it pretty much incomprehensible. Could someone a) Tell me what "Type" should be. b) Give me some brief indication of the reasoning by which one might arrive at this conclusion, with appropriate references to the documentation? Thanks. Feel free to cc a copy of any reply to me. I'll check the mailing list via gmane in any case. Faheem.