|
Boost Users : |
Subject: [Boost-users] A compilation problem at function10.hpp in the function library
From: Bob Lim (cbasicnet_at_[hidden])
Date: 2008-09-23 21:40:17
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
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net