14 Sep
2010
14 Sep
'10
9:12 p.m.
When using boost::bind, I can write this: struct X { void foo(int) {} }; shared_ptr<X> x( new X ); // bind takes shared_ptr: bind(&X::foo, x, 3)(); But I can't write this: function<void(X*,int)> foo = &X::foo; // function refuses shared_ptr: foo(x,1); Why doesn't boost::function have the same get_pointer() trick ? Or how can I rewrite the function signature such that it does work with shared pointers ? Any chance it gets into C++0x ;-) ? Thanks, Peter