id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 3675,Boost.Parameter passing function pointers,Aristid Breitkreuz ,Daniel Wallin,"When passing function pointers with Boost.Parameter on Boost 1.41 on MacPorts, there are errors. Apparently, somewhere the function type gets a ""const"" and that breaks stuff. That's the error message: {{{ bash-3.2$ make CXXFLAGS=-I/opt/local/include test g++ -I/opt/local/include test.cc -o test /opt/local/include/boost/parameter/aux_/arg_list.hpp: In constructor 'boost::parameter::aux::arg_list::arg_list(A0&, A1&, A2&, A3&, A4&) [with A0 = void ()(int)const, A1 = boost::parameter::void_, A2 = boost::parameter::void_, A3 = boost::parameter::void_, A4 = boost::parameter::void_, TaggedArg = boost::parameter::aux::tagged_argument, Next = boost::parameter::aux::empty_arg_list]': /opt/local/include/boost/parameter/parameters.hpp:876: instantiated from 'typename boost::mpl::first, typename boost::parameter::aux::make_deduced_items > > > > >::type, boost::parameter::aux::tag_keyword_arg, mpl_::bool_ >::type>::type boost::parameter::parameters::operator()(A0&) const [with A0 = void ()(int)const, PS0 = boost::parameter::required >, PS1 = boost::parameter::void_, PS2 = boost::parameter::void_, PS3 = boost::parameter::void_, PS4 = boost::parameter::void_]' test.cc:9: instantiated from 'typename boost_param_result_14testfn::type>::type testfn(const ParameterArgumentType0&, typename boost::parameter::aux::match::type) [with ParameterArgumentType0 = void ()(int)]' test.cc:20: instantiated from here /opt/local/include/boost/parameter/aux_/arg_list.hpp:208: error: no matching function for call to 'boost::parameter::aux::tagged_argument::tagged_argument(void (&)(int)const)' /opt/local/include/boost/parameter/aux_/tagged_argument.hpp:37: note: candidates are: boost::parameter::aux::tagged_argument::tagged_argument(Arg&) [with Keyword = tag::par, Arg = void ()(int)] /opt/local/include/boost/parameter/aux_/tagged_argument.hpp:32: note: boost::parameter::aux::tagged_argument::tagged_argument(const boost::parameter::aux::tagged_argument&) make: *** [test] Error 1 bash-3.2$ }}} The example compiles on Linux just fine. I will attach the example if I find out how to do it. Please provide a workaround for the time until the fix for this hits the shelves. ",Bugs,new,Boost 1.42.0,parameter,Boost 1.41.0,Problem,,,