[C++-sig] function with >15 args yields get_signature error

troy d. straszheim troy at resophonic.com
Mon Oct 26 22:30:57 CET 2009


Matthew Scouten (TT) wrote:
> Yeah. Find the guy who wrote a function with over 25 arguments. Bring
> a baseball bat. Persuade him of his error.

+1.  "Clue-by-four" time.

> -----Original Message----- From:
> cplusplus-sig-bounces+matthew.scouten=tradingtechnologies.com at python.org
> [mailto:cplusplus-sig-bounces+matthew.scouten=tradingtechnologies.com at python.org]
> On Behalf Of Eilif Mueller Sent: Monday, October 26, 2009 3:59 PM To:
> Development of Python/C++ integration Subject: Re: [C++-sig] function
> with >15 args yields get_signature error
> 
> Hi,
> 
> Thanks!  -DBOOST_PYTHON_MAX_ARITY=34 did indeed help ... for simple
> functions it did the trick, and it did increase my limit for member
> functions, but only to 25.  For over 25 args for a member functions
> of an exposed class I get the following compiler error:
> 
> /usr/include/boost/python/detail/invoke.hpp:81: error: must use ‘.*’
> or ‘->*’ to call pointer-to-member function in ‘f (...)’
> 

I believe this is because BOOST_PYTHON_MAX_ARITY doesn't have the 
ability to change the hardcoded limit of 25 parameters in 
boost/type_traits/detail/is_mem_fun_ptr_impl.hpp, which boost.python 
uses.  This is why I recommended that workaround.

-t


More information about the Cplusplus-sig mailing list