Cython递归结构声明

时间:2011-01-23 14:41:18

标签: cython

我正在尝试在Cython中使用C结构,它定义了一个链表:

typedef struct {  
    struct query_result* next_result;  
    char*                result;   
} query_result;

正如您所看到的,我在自己的定义中使用了query_result类型。 按原样使用,在Cython中给出了编译器错误:

cdef extern from 'c_wrapper.h':  
    struct query_result:  
        struct query_result* 
        char*

有关如何在Cython中正确处理此递归定义的任何想法?

1 个答案:

答案 0 :(得分:5)

当您提到类型时,不应使用struct关键字:

cdef extern from 'c_wrapper.h':  
    struct query_result:  
        query_result* more
        char* data