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