Boost logo

Boost Users :

From: Jason House (jasonhouse_at_[hidden])
Date: 2007-01-05 00:21:07


I've tried to create a simpler version of my problem. The code below
also does not compile. The full compiler output is at the bottom of
this message.

> #include <boost/function.hpp>
> #include <boost/lambda/bind.hpp>
>
> namespace gtp_detail{
> template<typename input_t, typename output_t>
> output_t converter(input_t x){
> output_t y;
> return y;
> }
> };
>
>
> typedef boost::function1<double, double> GTPFunctionObject;
>
> namespace gtp_detail{
>
> template<typename R0, typename T0>
> struct type_wrapper1{
> static double wrap(boost::function1<R0,T0>* callback_function, double cmd){
> unsigned int position = 0;
> T0 a0;
> return converter<R0, std::string>((*callback_function)(a0));
> }
> };
>
> template<typename T0>
> struct type_wrapper1<void,T0>{
> static double wrap(boost::function1<void,T0>* callback_function, double cmd){
> unsigned int position;
> T0 a0;
> (*callback_function)(a0);
> };
> };
>
> };
>
> template<typename R0, typename T0>
> GTPFunctionObject* GTPCommandCallBack1(boost::function1<R0,T0> *callback_function){
> return new GTPFunctionObject(boost::lambda::bind((gtp_detail::type_wrapper1<R0,T0>::wrap),boost::lambda::_1));
> }
>
> int main(int argc, char** argv){
> boost::function1<void,int> *f1a = new boost::function1<void,int>();
> GTPCommandCallBack1(f1a);
> }

/home/jhouse/boost_1_33_1/boost/tuple/detail/tuple_basic.hpp: In
constructor ‘boost::tuples::cons<HT, TT>::cons(T1&, T2&, T3&, T4&, T5&,
T6&, T7&, T8&, T9&, T10&) [with T1 = double ()(boost::function1<void,
int, std::allocator<boost::function_base> >*, double)const, T2 = const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, T3 =
const boost::tuples::null_type, T4 = const boost::tuples::null_type, T5
= const boost::tuples::null_type, T6 = const boost::tuples::null_type,
T7 = const boost::tuples::null_type, T8 = const
boost::tuples::null_type, T9 = const boost::tuples::null_type, T10 =
const boost::tuples::null_type, HT = double ()(boost::function1<void,
int, std::allocator<boost::function_base> >*, double), TT =
boost::tuples::cons<const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type>]’:
/home/jhouse/boost_1_33_1/boost/tuple/detail/tuple_basic.hpp:546:
instantiated from ‘boost::tuples::tuple<T0, T1, T2, T3, T4, T5, T6, T7,
T8, T9>::tuple(typename
boost::tuples::access_traits<T0>::parameter_type, typename
boost::tuples::access_traits<TT>::parameter_type) [with T0 = double
()(boost::function1<void, int, std::allocator<boost::function_base> >*,
double), T1 = const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, T2 =
boost::tuples::null_type, T3 = boost::tuples::null_type, T4 =
boost::tuples::null_type, T5 = boost::tuples::null_type, T6 =
boost::tuples::null_type, T7 = boost::tuples::null_type, T8 =
boost::tuples::null_type, T9 = boost::tuples::null_type]’
/home/jhouse/boost_1_33_1/boost/lambda/detail/bind_functions.hpp:220:
instantiated from ‘const
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
typename boost::lambda::detail::bind_tuple_mapper<const Arg1, const
Arg2, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type>::type> >
boost::lambda::bind(const Arg1&, const Arg2&) [with Arg1 = double
()(boost::function1<void, int, std::allocator<boost::function_base> >*,
double), Arg2 =
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >]’
test.cpp:39: instantiated from ‘GTPFunctionObject*
GTPCommandCallBack1(boost::function1<R0, T0,
std::allocator<boost::function_base> >*) [with R0 = void, T0 = int]’
test.cpp:44: instantiated from here
/home/jhouse/boost_1_33_1/boost/tuple/detail/tuple_basic.hpp:360: error:
no matching function for call to
‘boost::tuples::detail::non_storeable_type<double
()(boost::function1<void, int, std::allocator<boost::function_base> >*,
double)>::non_storeable_type(double (&)(boost::function1<void, int,
std::allocator<boost::function_base> >*, double)const)’
/home/jhouse/boost_1_33_1/boost/tuple/detail/tuple_basic.hpp:305: note:
candidates are:
boost::tuples::detail::non_storeable_type<T>::non_storeable_type() [with
T = double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double)]
/home/jhouse/boost_1_33_1/boost/tuple/detail/tuple_basic.hpp:304: note:
                 boost::tuples::detail::non_storeable_type<double
()(boost::function1<void, int, std::allocator<boost::function_base> >*,
double)>::non_storeable_type(const
boost::tuples::detail::non_storeable_type<double
()(boost::function1<void, int, std::allocator<boost::function_base> >*,
double)>&)
/home/jhouse/boost_1_33_1/boost/lambda/detail/select_functions.hpp: In
static member function ‘static RET
boost::lambda::detail::r_select<RET>::go(Any&, A&, B&, C&, Env&) [with
Any = double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double)const, A = double, B =
const boost::tuples::null_type, C = const boost::tuples::null_type, Env
= const boost::tuples::null_type, RET = double
(&)(boost::function1<void, int, std::allocator<boost::function_base> >*,
double)]’:
/home/jhouse/boost_1_33_1/boost/lambda/detail/lambda_functor_base.hpp:408:
   instantiated from ‘RET
boost::lambda::lambda_functor_base<boost::lambda::action<2, Act>,
Args>::call(A&, B&, C&, Env&) const [with RET = double, A = double, B =
const boost::tuples::null_type, C = const boost::tuples::null_type, Env
= const boost::tuples::null_type, Act =
boost::lambda::function_action<2, boost::lambda::detail::unspecified>,
Args = boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type>]’
/home/jhouse/boost_1_33_1/boost/lambda/detail/lambda_functors.hpp:148:
  instantiated from ‘typename T::sig<boost::tuples::tuple<A&,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >::type
boost::lambda::lambda_functor<Base>::operator()(A&) const [with A =
double, T = boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> >]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:119:
instantiated from ‘static R
boost::detail::function::function_obj_invoker1<FunctionObj, R,
T0>::invoke(boost::detail::function::any_pointer, T0) [with FunctionObj
=
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:479:
instantiated from ‘void boost::function1<R, T0,
Allocator>::assign_to(FunctionObj,
boost::detail::function::function_obj_tag) [with FunctionObj =
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double, Allocator = std::allocator<boost::function_base>]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:430:
instantiated from ‘void boost::function1<R, T0,
Allocator>::assign_to(Functor) [with Functor =
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double, Allocator = std::allocator<boost::function_base>]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:294:
instantiated from ‘boost::function1<R, T0,
Allocator>::function1(Functor, typename
boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value,
int>::type) [with Functor =
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double, Allocator = std::allocator<boost::function_base>]’
test.cpp:39: instantiated from ‘GTPFunctionObject*
GTPCommandCallBack1(boost::function1<R0, T0,
std::allocator<boost::function_base> >*) [with R0 = void, T0 = int]’
test.cpp:44: instantiated from here
/home/jhouse/boost_1_33_1/boost/lambda/detail/select_functions.hpp:55:
error: invalid initialization of reference of type ‘double
(&)(boost::function1<void, int, std::allocator<boost::function_base> >*,
double)’ from expression of type ‘double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double)const’
/home/jhouse/boost_1_33_1/boost/lambda/detail/actions.hpp: In static
member function ‘static RET boost::lambda::function_action<2,
T>::apply(A1&, A2&) [with RET = double, A1 = double
()(boost::function1<void, int, std::allocator<boost::function_base> >*,
double), A2 = double, T = boost::lambda::detail::unspecified]’:
/home/jhouse/boost_1_33_1/boost/lambda/detail/lambda_functor_base.hpp:408:
   instantiated from ‘RET
boost::lambda::lambda_functor_base<boost::lambda::action<2, Act>,
Args>::call(A&, B&, C&, Env&) const [with RET = double, A = double, B =
const boost::tuples::null_type, C = const boost::tuples::null_type, Env
= const boost::tuples::null_type, Act =
boost::lambda::function_action<2, boost::lambda::detail::unspecified>,
Args = boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type>]’
/home/jhouse/boost_1_33_1/boost/lambda/detail/lambda_functors.hpp:148:
  instantiated from ‘typename T::sig<boost::tuples::tuple<A&,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >::type
boost::lambda::lambda_functor<Base>::operator()(A&) const [with A =
double, T = boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> >]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:119:
instantiated from ‘static R
boost::detail::function::function_obj_invoker1<FunctionObj, R,
T0>::invoke(boost::detail::function::any_pointer, T0) [with FunctionObj
=
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:479:
instantiated from ‘void boost::function1<R, T0,
Allocator>::assign_to(FunctionObj,
boost::detail::function::function_obj_tag) [with FunctionObj =
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double, Allocator = std::allocator<boost::function_base>]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:430:
instantiated from ‘void boost::function1<R, T0,
Allocator>::assign_to(Functor) [with Functor =
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double, Allocator = std::allocator<boost::function_base>]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:294:
instantiated from ‘boost::function1<R, T0,
Allocator>::function1(Functor, typename
boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value,
int>::type) [with Functor =
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double, Allocator = std::allocator<boost::function_base>]’
test.cpp:39: instantiated from ‘GTPFunctionObject*
GTPCommandCallBack1(boost::function1<R0, T0,
std::allocator<boost::function_base> >*) [with R0 = void, T0 = int]’
test.cpp:44: instantiated from here
/home/jhouse/boost_1_33_1/boost/lambda/detail/actions.hpp:87: error: no
matching function for call to ‘boost::lambda::function_adaptor<double
()(boost::function1<void, int, std::allocator<boost::function_base> >*,
double)>::apply(double (&)(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), double&)’
/home/jhouse/boost_1_33_1/boost/tuple/detail/tuple_basic.hpp: In static
member function ‘static RET
boost::tuples::detail::get_class<0>::get(const boost::tuples::cons<HT,
TT>&) [with RET = double (&)(boost::function1<void, int,
std::allocator<boost::function_base> >*, double)const, HT = double
()(boost::function1<void, int, std::allocator<boost::function_base> >*,
double), TT = boost::tuples::cons<const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type>]’:
/home/jhouse/boost_1_33_1/boost/tuple/detail/tuple_basic.hpp:292:
instantiated from ‘typename boost::tuples::access_traits<typename
boost::tuples::element<N, boost::tuples::cons<HT, TT>
>::type>::const_type boost::tuples::get(const boost::tuples::cons<HT,
TT>&) [with int N = 0, HT = double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), TT =
boost::tuples::cons<const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type>]’
/home/jhouse/boost_1_33_1/boost/lambda/detail/lambda_functor_base.hpp:408:
   instantiated from ‘RET
boost::lambda::lambda_functor_base<boost::lambda::action<2, Act>,
Args>::call(A&, B&, C&, Env&) const [with RET = double, A = double, B =
const boost::tuples::null_type, C = const boost::tuples::null_type, Env
= const boost::tuples::null_type, Act =
boost::lambda::function_action<2, boost::lambda::detail::unspecified>,
Args = boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type>]’
/home/jhouse/boost_1_33_1/boost/lambda/detail/lambda_functors.hpp:148:
  instantiated from ‘typename T::sig<boost::tuples::tuple<A&,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >::type
boost::lambda::lambda_functor<Base>::operator()(A&) const [with A =
double, T = boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> >]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:119:
instantiated from ‘static R
boost::detail::function::function_obj_invoker1<FunctionObj, R,
T0>::invoke(boost::detail::function::any_pointer, T0) [with FunctionObj
=
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:479:
instantiated from ‘void boost::function1<R, T0,
Allocator>::assign_to(FunctionObj,
boost::detail::function::function_obj_tag) [with FunctionObj =
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double, Allocator = std::allocator<boost::function_base>]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:430:
instantiated from ‘void boost::function1<R, T0,
Allocator>::assign_to(Functor) [with Functor =
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double, Allocator = std::allocator<boost::function_base>]’
/home/jhouse/boost_1_33_1/boost/function/function_template.hpp:294:
instantiated from ‘boost::function1<R, T0,
Allocator>::function1(Functor, typename
boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value,
int>::type) [with Functor =
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified> >,
boost::tuples::tuple<double ()(boost::function1<void, int,
std::allocator<boost::function_base> >*, double), const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, R = double, T0
= double, Allocator = std::allocator<boost::function_base>]’
test.cpp:39: instantiated from ‘GTPFunctionObject*
GTPCommandCallBack1(boost::function1<R0, T0,
std::allocator<boost::function_base> >*) [with R0 = void, T0 = int]’
test.cpp:44: instantiated from here
/home/jhouse/boost_1_33_1/boost/tuple/detail/tuple_basic.hpp:121: error:
invalid initialization of reference of type ‘double
(&)(boost::function1<void, int, std::allocator<boost::function_base> >*,
double)const’ from expression of type ‘const
boost::tuples::detail::non_storeable_type<double
()(boost::function1<void, int, std::allocator<boost::function_base> >*,
double)>’


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