Декларации рекурсивной структуры Cython - PullRequest
1 голос
/ 23 января 2011

Я пытаюсь использовать структуру C в Cython, которая определяет связанный список:

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 Ответ

5 голосов
/ 27 января 2011

Не следует использовать ключевое слово struct, когда вы ссылаетесь на тип:

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