首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Cython错误:将整数数组传递给函数时,无法将Python对象转换为'int *‘类型错误

Cython错误:将整数数组传递给函数时,无法将Python对象转换为'int *‘类型错误
EN

Stack Overflow用户
提问于 2013-04-06 05:37:54
回答 1查看 2.4K关注 0票数 2

我试图将一个整数数组传递给Cython中的一个函数,但我不明白为什么会出现标题中提到的错误。

下面是我正在尝试做的一个示例代码:

代码语言:javascript
代码运行次数:0
运行
复制
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]

如果有任何关于如何正确地将数组传递给函数的指导,我将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-06 05:40:52

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

改为将其声明为cdef

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15844028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档