0
在實現我的python集成過程中,我遇到了一個問題。 我有課,看起來像這樣:從python方法訪問python類中的c指針,cython
cdef class SomeClass:
cdef CPPClass* cpp_impl
def some_method(self):
self.cpp_impl.cppMethod()
我有CPP類,它可以返回CPPClass*
值。水木清華這樣的:
class Creator
{
public:
CPPClass* createClass();
}
所以我想創建SomeClass的實例是這樣的:
cdef class PyCreator:
cdef Creator* cpp_impl
def getSomeClass(self):
o = SomeClass()
o.cpp_impl = self.cpp_impl.createClass()
return o
但我發現了錯誤並用Cython不能轉換CPPClass*
到Python對象。 我該如何解決我的問題?謝謝。
感謝您的答覆。你們,我編輯了我的答案,因爲我忘了用'自我'這個詞,但這不是我的問題。我的問題是,我無法訪問python方法的指針。 – Megaxela
......這就是'cdef SomeClass o = ...'應該做的。然後它知道'o.cpp_impl'是'CPPClass'指針,所以應該工作 – DavidW