
Thanks, But also without any other constructor (for both some_class and some_other_class) I get the compiler error. I did another test. I created a function with exactly the same signature as the some_class constructor; template <class T> some_func(const boost::function1<T*, short*>& some_member) { } and now the compiler says; error C2784: 'int some_func(const boost::function1<T*,short*> &)' : could not deduce template argument for 'const boost::function1<R*,short*> &' from 'boost::_bi::bind_t<R,F,L>' with [ R=short *, F=boost::_mfi::mf1<short *,some_other_class,short *>, L=boost::_bi::list2<boost::_bi::list_av_2<some_other_class *__w64 ,boost::arg<1>>::B1,boost::_bi::list_av_2<some_other_class *__w64 ,boost::arg<1>>::B2> ] c:\Temp\com\com.cpp(14) : see declaration of 'some_func' Somehow the compiler does not instantiate the function properly when a templated argument is only fed into the function wrapper. Any ideas? Okko