Hi,
Wrapping a function f with 16 arguments:
int f(int x1, int x2, int x3, int x4, int x5,
int x6, int x7, int x8, int x9, int x10,
int x11, int x12, int x13, int x14, int x15,
int x16) {
return x1;
}
BOOST_PYTHON_MODULE(test)
{
def("f",f);
}
yields
/usr/include/boost/python/make_function.hpp: In function
‘boost::python::api::object boost::python::make_function(F) [with F = int
(*)(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int,
int)]’:
/usr/include/boost/python/def.hpp:82: instantiated from
‘boost::python::api::object boost::python::detail::make_function1(T, ...) [with
T = int (*)(int, int, int, int, int, int, int, int, int, int, int, int, int,
int, int, int)]’
/usr/include/boost/python/def.hpp:91: instantiated from ‘void
boost::python::def(const char*, Fn) [with Fn = int (*)(int, int, int, int, int,
int, int, int, int, int, int, int, int, int, int, int)]’
test_module.cpp:20: instantiated from here
/usr/include/boost/python/make_function.hpp:104: error: no matching function for
call to ‘get_signature(int (*&)(int, int, int, int, int, int, int, int, int,
int, int, int, int, int, int, int))’
make: *** [stream.o] Error 1
whereas all is fine if that last arg "int x16" is removed. All of gcc-4.2,
gcc-4.3 and gcc-4.4 seem to exhibit the same behaviour. Same effect for
libboost-python1.38-dev on Ubuntu karmic and libboost-python1.35-dev on Ubuntu jaunty.
I need that 16th arg and more ... about 32 args, I think.
Thanks for any help you can offer.