
Hello, I am trying to use Boost::Bind to bind my function but I am getting an error as Bind cannot diffrentiate between the constructors even though they have diffrent function signatures. TestBind(boost::bind((&Test::process), &t1, _1)); I would highly appreciate any help. Thanks //Boost Includes #include <boost/function.hpp> #include <boost/bind.hpp> #include <boost/enable_shared_from_this.hpp> namespace test{ struct A{ public: int one; int two; }; struct B{ public: short three; short four; }; typedef boost::shared_ptr<A> t_boostInt; typedef boost::shared_ptr<B> t_boostShort; class TestBind{ public: typedef boost::function< int (t_boostInt)> t_ProcessFunctionInt; public: ///< call back process function for short typedef boost::function< short (t_boostShort)> t_ProcessFunctionShort; public: TestBind( t_ProcessFunctionInt func){} TestBind(t_ProcessFunctionShort func){} }; class Test { public: Test(){} ~Test(); public: int process(t_boostInt msg) { return 1;} }; int main(int argc, char * argv[]) { try { Test t1; TestBind(boost::bind((&Test::process), &t1, _1)); } catch (std::exception & exception) { std::cout << exception.what() << std::endl; } return 0; } }