   boost::bind - Invalid use of non-static member function
  Hi, this is on linux with gccis have a classclass mywin : public owl::system::gui::window, public boost::signals::trackable{public:void paint (owl::system::gui::paint_event& e){cout << "Paint event handled. \n";}mywin(){on_paint_event(boost::bind(&mywin::paint, this));}};on_paint_event is a member function of the window classvoid on_paint_event (paint_signal::slot_function_type subscriber) {    m_paint_signal.connect(subscriber);}withtypedef boost::signal< void (paint_event& e)> paint_signal;The error occurs in the constructor of mywin when calling boost::bind.This is code is copypasted from a code I was using on windows, the only difference is that in the older code I called boost::bind from outside the class and I passed an external pointer to the class instance instead of this.Any ideas on what I could be doing wrong?EDIT:Actually, the error occurs in the boost file mem_fn.hpp in the class dm    R & operator()(T * p) const    {   return (p->*f_); <<----- ERROR BE HERE    }
  Trye boost::bind(&mywin::paint, this,_1);;  I got it, the older code wasn't passing parameters to the callback. As this passes one I need to add _1 as a third parameter to boost::bind.The compiler error was everything but informative though. Thanks god I got it working.lol, beaten to it. Thanks Nitage, that was exactly it.   