Hello. After much googling I didn't find anything useful.
My problem is:
I have a virtual function like this
class MyClass {
void monitor(Object * o);
}
I have wrapped another class, which inherits from Object:
class Character : public Object {...};
which is also exposed to python.
I register my virtual function as the documentation says I have to do:
class_("MyClass").
def("monitor", &MyClass::monitor);
When I try to call it from python, I get the following error:
a = MyClass()
b = Character(....)
a.monitor(b)
MyClass.monitor(MyClass, Character)
did not match C++ signature:
monitorizar(MyClass {lvalue}, Object *)
Shouldn't my Character be automatically converted to Object * and then
to make a successful call to the function?
Should I do anything special to use pointers as parameters of my
functions? I don't know why it tries to pass a "Character".
What I want is to get it converted to Object *. Thanks in advance.