C ++オブジェクトをlibcpp.mapに保存したいのですが、動作させることができません。宣言ファイルでマップを宣言すると、単純な整数でも機能しません。
.pxd file:
from libcpp.map cimport map
cdef class MyClass:
cdef map[int,int] store
.pyx file:
cdef class MyClass:
def __cinit__(self):
self.store = map[int,int]()
次のエラー:
cdef map[int,int] store
^
C++ classes not allowed as members of an extension type,
use a pointer or reference instead
なぜこれが機能しないのですか?関数内で宣言すると、正常に機能します。