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 に答える