LINUX.ORG.RU

помогите начинающему, пожалуйста...


0

0

Я представляю ориентированный граф списком смежности:

typedef struct {

int number;

int state;

struct cell_list *next;

} cell_list; .........

struct cell_list **relations;

а потом динамически выделяю под это дело память:

struct cell_list **fill_relations(int size_x, int size_y) {

struct cell_list **tmp;

int i; .........

tmp=(struct cell_list **)calloc(sizeof(struct cell_list *), size_x*size_y);

..........

for(i=0;i<=size_z*size_y;i++){

*(tmp+i)=(struct cell_list *)calloc(sizeof(struct cell_list), 8);(*)

.......

}

а компиллятор мне говорит: sizeof implied to incomplete type в строке, помеченной звездочкой причина ошибки вроде понятна, но не понятно, как этого избежать, как иначе? я не представляю... Помогите, пожалуйста, а то я рискую не сдать зачет... пожалуйста...

anonymous

Вместо
    typedef struct {
        ...
    } cell_list;
пиши
    typedef struct cell_list {
        ...
    } cell_list;
либо, учитывая, что ты к этой структуре всегда обращаешься как к struct cell_list, можно не использовать typedef и писать так:
    struct cell_list {
        ...
    };

justme
()

Спасибо огромное, помогло, и я понял почему!!!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.