我试图将一个整数数组传递给Cython中的一个函数,但我不明白为什么会出现标题中提到的错误。
下面是我正在尝试做的一个示例代码:
cpdef foo(int *table):
for i in range(10):
table[i] = i
cdef int *temp=<int *>malloc(10*sizeof(int))
foo(temp)
for i in range(10):
print temp[i]
如果有任何关于如何正确地将数组传递给函数的指导,我将不胜感激。谢谢。
发布于 2013-04-06 05:40:52
这里的问题是函数是cpdef
的-这意味着它可以从C和Python代码中调用,也意味着所有参数都必须是Python对象(否则如何从Python中调用它?)
改为将其声明为cdef
。
https://stackoverflow.com/questions/15844028
复制相似问题