I am trying to pass a C++ object to Python function. This Python function then calls another C++ function which then uses this C++ object to call methods of that object's class.
I tried something like this, but it did not work, gave core dump. class myclass { public: myclass(){}; ~myclass(){}; void printmyname() { printf("I am myclass, num=%d\n",num); }; }; main(){ myclass myobj char funcbody[]=\ "def pyfunction(t167,classobj):\n\ onemorefunc(t167,\"NONAMe\")\n\ return 10\n\ \n\n"; // compile this Python function using PyRun_String & get its pointer by PyObject_GetAttrString. // Later call it as below: myclass myobj(23); PyObject *pTuple = 0; pTuple = PyTuple_New(2); PyTuple_SetItem(pTuple,0,PyString_FromString("NAME")); // for t167 parameter PyObject *inputarg = Py_BuildValue("OO&",pTuple,myobj); // for classobj parameter result = PyObject_CallObject(pPyEvalFunction,inputarg); } How can I pass this class object to Python function? Is it possible to set it in tuple using PyTuple_SetItem, because I may have varying number of arguments for my Python functions & that's why I can't use Py_BuildValue. -- http://mail.python.org/mailman/listinfo/python-list