cdef extern from "Foo.h":
cdef cppclass Bar:
pass
cdef class PyClass:
cdef Bar *bar
def __cinit__(self, Bar *b)
bar = b
这将始终给我的东西,如:
Cannot convert Python object argument to type 'Bar *'
传C++指针作为参数转换为用Cython功能
有没有做到这一点的方式,或者我需要提取一切从Bar
对象,创建一个Python等价物,传入它,然后在PyClass
重建它?
在最近的版本用Cython的(如0.22至少),该@staticmethod装饰可以在CDEF功能应用,让一个现在可以在全球创造者功能转换为一个适合整洁组织的静态类。 – Dologan
'bar' C++类不是基本的数字类型,并且没有默认转换。 – jfs
@ J.F.Sebastian你能解释一下你的意思吗?为了存储指向它的指针,Bar不必是基本的数字类型。 – Amoss