Should I use a seperate functor like this? template<class T> struct dereference : public std::unary_function<T*, T> { T operator()(T *pt) { return *pt; } }; A a; boost::bind(&processA, boost::bind(dereference<A>(), _1))(&a); If the answer is yes, is there a safer and stronger equivalence of "dereference" in boost? Thanks again. B/Rgds Max ====================================== Hello On simple question: For struct A {}; void processA(A& a) {} A *pa = new A(); How to write a bind expression that make (pa); equivalent to processA(*pa); I've tried with this: boost::bind(&processA, *_1) but failed. I've also tried with this: processA(*boost::lambda::_1) also failed. Thanks for any information. B/Rgds Max ------------------------------------------------------------------- 新浪空间——与朋友开心分享网络新生活!(http://space.sina.com.cn/ ) ------------------------------------------------------------------- 新浪空间——与朋友开心分享网络新生活!(http://space.sina.com.cn/ )