cdef extern from "Foo.h":
cdef cppclass Bar:
pass
cdef class PyClass:
cdef Bar *bar
def __cinit__(self, Bar *b)
bar = b
này sẽ luôn luôn cho tôi một cái gì đó như:
Cannot convert Python object argument to type 'Bar *'
Passing C++ con trỏ như là đối số vào Cython chức năng
Có cách nào để thực hiện điều này, hay tôi cần phải giải nén tất cả mọi thứ từ một đối tượng Bar
, tạo tương đương Python, chuyển nó vào, sau đó tạo lại nó trong PyClass
?
Trên phiên bản Cython gần đây nhất có thể được áp dụng cho các chức năng cdef. vào một lớp tĩnh cho một tổ chức neater. – Dologan
Lớp 'Bar' C++ không phải là loại số cơ bản và không có chuyển đổi mặc định. – jfs
@ J.F.Sebastian Bạn có thể giải thích ý của bạn không? Thanh không phải là một kiểu số cơ bản để lưu trữ một con trỏ đến nó. – Amoss