Based on the scenario you describe - I think the code in Python should be:


   >> handle = interface.noise("test", 2, interface.animal.monkey)




From: Bailey Miller []
Sent: Monday, September 26, 2011 7:38 PM
Subject: [Swig-user] enums as function arguments


Hello, thanks in advance for any help.



I have a c++ header file which contains an enumeration:

   enum animal { monkey, chimp, ... };


The header file also contains a function definition:

  int noise (const char* name, int number_of_noses, animal a);


SWIG generates an interface, and correctly makes the enumerated values available, but when I try to use the function in python:

   >> handle = interface.noise("test", 2, interface.monkey)


Python says that I am using the wrong type or number of arguments and kindly lists the available prototypes. It does not seem that SWIG is getting the typemapping correct. Any tips?