我是cython的新手,我必须包装一个cpp库,其余的,定义:
typedef objectA * typeB
class objectA {
int id;
objectA(){}
int get_id() {return id;}
//...
}
class objectC {
objectC();
typeB add_newA(int id){...}
}
我已经设法为A和C定义python类但是,我不知道如何定义类型B和函数addA(),因为编译时我得到一个错误,说B类型无法转换为python对象:
无法将'typeB'转换为Python对象
有什么建议吗?
cdef extern from "classes.h":
cdef cppclass objectA:
objectA() except +
int get_id() const;
cdef cppclass objectC:
objectC() except +
typeB add_newA(int id) const;
cdef extern from "typedpointers.h":
ctypedef objectA* typeB;
cdef cppclass typeB:
typeB() except +