on Mon Feb 02 2009, yamini sardana <sardana.yamini-AT-gmail.com> wrote:
> Hi, > > How do we pass a pointer to a c++ function from python. > > I have to call the below mentioned function from python > > long afSigGenDll_Manual_LevelMax_Get(afSigGenInstance_t sigGenId, double* > pLevelMax); > > When i am calling the function with the second argument as > pLevelMax = pointer(c_double()) > > its giving me an error: > Traceback (most recent call last): > File "<interactive input>", line 1, in <module> > TypeError: in method 'afSigGenDll_Manual_LevelMax_Get', argument 2 of type > 'double *' > > Please le me know what is the correct way to pass pointers as arguments to > c++ functions. You can't pass a non-const pointer because the python 'Float' type is immutable; changing the double held by the python object (when indeed there is one) would be disastrous. If you want to modify this number youi should wrap your C++ function in something that returns a Python tuple containing a long and a double. -- Dave Abrahams BoostPro Computing http://www.boostpro.com _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig