2

我正在尝试将整数数组传递给 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]

我将不胜感激有关如何将数组正确传递给函数的任何指针。谢谢你。

4

1 回答 1

7

这里的问题是函数cpdef- 这意味着它可以从 C 和 Python 代码中调用,并且意味着所有参数必须是 Python 对象(否则如何从 Python 调用它?)

将其声明为cdef

于 2013-04-05T21:40:52.173 回答