0
如果我使用boost.python或pyplusplus,如何包裝一個int指針或任何指針是一個類的成員變量?包裝int指針成員變量在boost.python/pyplusplus
例如,我怎麼會從下面的類包裝x
:
class Foo{
int * x;
}
如果我使用boost.python或pyplusplus,如何包裝一個int指針或任何指針是一個類的成員變量?包裝int指針成員變量在boost.python/pyplusplus
例如,我怎麼會從下面的類包裝x
:
class Foo{
int * x;
}
首先,你需要公開的類和屬性到Python。
#include <boost/python.hpp>
BOOST_PYTHON_MODULE(mylib)
{
using namespace boost::python;
class_<Foo>("Foo")
.def_readwrite("x", &Foo::x);
}
在Python中調用類同樣很簡單。
>>> import mylib
>>> fooObj = mylib.Foo()
>>> fooObj.x = 3
>>> print 'fooObj.x is ', fooObj.x
fooObj.x is 3
當我嘗試這樣做,我有:引發ArgumentError:Python的參數類型 None.None(美孚,INT) 不匹配C++簽名: 無(富{}左值,INT *) – enobayram 2012-04-06 22:37:55
另外,如果你嘗試讀取變量,您可以: '回溯(最近通話最後一個): 文件「」,1號線,在 類型錯誤:沒有to_python(按值)轉換器找到了C++類型:int *' –
user810973
2012-04-10 12:32:15