Hi guys, I cannot compile without error for function10.hpp in Visual Studio 2005 Pro. A simple source file to reproduce the problem is attached(Test.cpp). There is no such problem with other function0-9.hpp, except for function10.hpp. The error message encounter is as below, 1>d:\downloads\boost_1_36_0\boost_1_36_0\boost\mem_fn.hpp(318) : warning C4180: qualifier applied to function type has no meaning; ignored 1> d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(381) : see reference to class template instantiation 'boost::_mfi::dm<R,T>' being compiled 1> with 1> [ 1> R=int (int,int,int,int,int,int,int,int,int), 1> T=MyClass 1> ] 1> d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(277) : see reference to function template instantiation 'bool boost::detail::function::basic_vtable10<R,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::assign_to<F>(MemberPtr,boost::detail::function::function_buffer &,boost::detail::function::member_ptr_tag)' being compiled 1> with 1> [ 1> R=int, 1> T0=MyClass *, 1> T1=int, 1> T2=int, 1> T3=int, 1> T4=int, 1> T5=int, 1> T6=int, 1> T7=int, 1> T8=int, 1> T9=int, 1> F=int (__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int), 1> MemberPtr=int (__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int) 1> ] 1> d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(779) : see reference to function template instantiation 'bool boost::detail::function::basic_vtable10<R,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::assign_to<Functor>(F,boost::detail::function::function_buffer &)' being compiled 1> with 1> [ 1> R=int, 1> T0=MyClass *, 1> T1=int, 1> T2=int, 1> T3=int, 1> T4=int, 1> T5=int, 1> T6=int, 1> T7=int, 1> T8=int, 1> T9=int, 1> Functor=int (__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int), 1> F=int (__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int) 1> ] 1> d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(612) : see reference to function template instantiation 'void boost::function10<R,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::assign_to<Functor>(Functor)' being compiled 1> with 1> [ 1> R=int, 1> T0=MyClass *, 1> T1=int, 1> T2=int, 1> T3=int, 1> T4=int, 1> T5=int, 1> T6=int, 1> T7=int, 1> T8=int, 1> T9=int, 1> Functor=int (__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int) 1> ] 1> d:\myprojects\testvaltype\testvaltype\testvaltype.cpp(45) : see reference to function template instantiation 'boost::function10<R,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::function10<int(__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int)>(Functor,int)' being compiled 1> with 1> [ 1> R=int, 1> T0=MyClass *, 1> T1=int, 1> T2=int, 1> T3=int, 1> T4=int, 1> T5=int, 1> T6=int, 1> T7=int, 1> T8=int, 1> T9=int, 1> Functor=int (__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int) 1> ] 1>d:\downloads\boost_1_36_0\boost_1_36_0\boost\mem_fn.hpp(326) : warning C4180: qualifier applied to function type has no meaning; ignored 1>d:\downloads\boost_1_36_0\boost_1_36_0\boost\mem_fn.hpp(331) : warning C4180: qualifier applied to function type has no meaning; ignored 1>d:\downloads\boost_1_36_0\boost_1_36_0\boost\mem_fn.hpp(345) : warning C4180: qualifier applied to function type has no meaning; ignored 1>d:\downloads\boost_1_36_0\boost_1_36_0\boost\mem_fn.hpp(350) : warning C4180: qualifier applied to function type has no meaning; ignored 1>d:\downloads\boost_1_36_0\boost_1_36_0\boost\mem_fn.hpp(362) : warning C4180: qualifier applied to function type has no meaning; ignored 1>d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(123) : error C2064: term does not evaluate to a function taking 10 arguments 1> class does not define an 'operator()' or a user defined conversion operator to a pointer-to-function or reference-to-function that takes appropriate number of arguments 1> d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(117) : while compiling class template member function 'int boost::detail::function::function_obj_invoker10<FunctionObj,R,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::invoke(boost::detail::function::function_buffer &,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9)' 1> with 1> [ 1> FunctionObj=boost::_mfi::dm<int (int,int,int,int,int,int,int,int,int),MyClass>, 1> R=int, 1> T0=MyClass *, 1> T1=int, 1> T2=int, 1> T3=int, 1> T4=int, 1> T5=int, 1> T6=int, 1> T7=int, 1> T8=int, 1> T9=int 1> ] 1> d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(413) : see reference to class template instantiation 'boost::detail::function::function_obj_invoker10<FunctionObj,R,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>' being compiled 1> with 1> [ 1> FunctionObj=boost::_mfi::dm<int (int,int,int,int,int,int,int,int,int),MyClass>, 1> R=int, 1> T0=MyClass *, 1> T1=int, 1> T2=int, 1> T3=int, 1> T4=int, 1> T5=int, 1> T6=int, 1> T7=int, 1> T8=int, 1> T9=int 1> ] 1> d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(297) : see reference to function template instantiation 'void boost::detail::function::basic_vtable10<R,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::init<F>(FunctionObj,boost::detail::function::function_obj_tag)' being compiled 1> with 1> [ 1> R=int, 1> T0=MyClass *, 1> T1=int, 1> T2=int, 1> T3=int, 1> T4=int, 1> T5=int, 1> T6=int, 1> T7=int, 1> T8=int, 1> T9=int, 1> F=boost::_mfi::dm<int (int,int,int,int,int,int,int,int,int),MyClass>, 1> FunctionObj=boost::_mfi::dm<int (int,int,int,int,int,int,int,int,int),MyClass> 1> ] 1> d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(363) : see reference to function template instantiation 'void boost::detail::function::basic_vtable10<R,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::init<boost::_mfi::dm<int (int,int,int,int,int,int,int,int,int),T>>(F)' being compiled 1> with 1> [ 1> R=int, 1> T0=MyClass *, 1> T1=int, 1> T2=int, 1> T3=int, 1> T4=int, 1> T5=int, 1> T6=int, 1> T7=int, 1> T8=int, 1> T9=int, 1> T=MyClass, 1> F=boost::_mfi::dm<int (int,int,int,int,int,int,int,int,int),MyClass> 1> ] 1> d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(297) : see reference to function template instantiation 'void boost::detail::function::basic_vtable10<R,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::init<F>(MemberPtr,boost::detail::function::member_ptr_tag)' being compiled 1> with 1> [ 1> R=int, 1> T0=MyClass *, 1> T1=int, 1> T2=int, 1> T3=int, 1> T4=int, 1> T5=int, 1> T6=int, 1> T7=int, 1> T8=int, 1> T9=int, 1> F=int (__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int), 1> MemberPtr=int (__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int) 1> ] 1> d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(265) : see reference to function template instantiation 'void boost::detail::function::basic_vtable10<R,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::init<F>(F)' being compiled 1> with 1> [ 1> R=int, 1> T0=MyClass *, 1> T1=int, 1> T2=int, 1> T3=int, 1> T4=int, 1> T5=int, 1> T6=int, 1> T7=int, 1> T8=int, 1> T9=int, 1> F=int (__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int) 1> ] 1> d:\downloads\boost_1_36_0\boost_1_36_0\boost\function\function_template.hpp(778) : see reference to function template instantiation 'boost::detail::function::basic_vtable10<R,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::basic_vtable10<Functor>(F)' being compiled 1> with 1> [ 1> R=int, 1> T0=MyClass *, 1> T1=int, 1> T2=int, 1> T3=int, 1> T4=int, 1> T5=int, 1> T6=int, 1> T7=int, 1> T8=int, 1> T9=int, 1> Functor=int (__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int), 1> F=int (__thiscall MyClass::* )(int,int,int,int,int,int,int,int,int) 1> ] ------ Thank you for looking into this. Best regards, Bob Lim |