Trying to build the following simple example
#include <boost/python.hpp>
using namespace boost::python;
tuple head_and_tail(object sequence)
{
return make_tuple(sequence[0],sequence[-1]);
}
available here, I end up with this compilation error under Visual Studio 9
error C2668: 'boost::python::make_tuple' : ambiguous call to overloaded function
1> C:\Program Files\boost_1_42_0\boost/python/detail/make_tuple.hpp(22): could be 'boost::python::tuple boost::python::make_tuple<boost::python::api::object_item,boost::python::api::object_item>(const A0 &,const A1 &)'
1> with
1> [
1> A0=boost::python::api::object_item,
1> A1=boost::python::api::object_item
1> ]
1> C:\Program Files\boost_1_42_0\boost/tuple/detail/tuple_basic.hpp(802): or 'boost::tuples::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9> boost::tuples::make_tuple<boost::python::api::object_item,boost::python::api::object_item>(const T0 &,const T1 &)' [found using argument-dependent lookup]
1> with
1> [
1> T0=boost::python::api::proxy<boost::python::api::item_policies>,
1> T1=boost::python::api::proxy<boost::python::api::item_policies>,
1> T2=boost::tuples::null_type,
1> T3=boost::tuples::null_type,
1> T4=boost::tuples::null_type,
1> T5=boost::tuples::null_type,
1> T6=boost::tuples::null_type,
1> T7=boost::tuples::null_type,
1> T8=boost::tuples::null_type,
1> T9=boost::tuples::null_type
1> ]
Is this a bug in boost::python, or am I doing something wrong? How can I get the above program to compile?