我想将 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
为什么这不起作用?如果我在函数中声明它,它工作正常。