
Peter Dimov wrote:
template<class F, class A1> unspecified-3-1 bind(F f, A1 a1); First, you need
template<class R, class T, class A1> unspecified-5 bind(R (T::*f) (), A1 a1)
Maybe I should consider renaming my types as well, I like that idea :-)
boost::bind(&Manager::Check, this)
returns a function object that, when called, returns
boost::mem_fn(&Manager::Check)(this)
that, in turn (see the mem_fn documentation) is equivalent to
(this->*&Manager::Check)();
The thing to remember is that member functions have an additional implicit argument, the object pointer/reference.
And exactly that was already the first thing I was missing. Since compilers (when hitting such errors) are leading you to far far away code I was kinda lost - thanks for the explanation Ali