gcc编译错误'sizeof'无效应用于不完整类型'struct LadoSt'

时间:2014-05-21 23:50:20

标签: c gcc compilation compiler-errors sizeof

我正在为我的大学制作一个项目并使用MakeFile编译我的文件有麻烦,我有5个文件:api.c api.h datastruct.c datastruct.h main.c 在主要我有这个函数调用:DovahkiinP new = NuevoDovahkiin(); NuevoDovahkiin()函数在api.c中定义,也是DovahkiinP指向的结构DovahkiinSt

函数NuevoDovahkiin()在api.c中定义如下:

DovahkiinP NuevoDovahkiin(){
    DovahkiinP new_dovahkiin = NULL;
    new_dovahkiin = calloc(1, sizeof(struct DovahkiinSt)); //Here is the problem
    if(new_dovahkiin != NULL){
        new_dovahkiin->root = NULL;
        new_dovahkiin->source = NULL;
        new_dovahkiin->sink = NULL;
        new_dovahkiin->tempflux = 0;
    }
return (new_dovahkiin);
}
api.h中的

是结构DovahkiinSt的定义:

 typedef struct _DovahkiinSt_t {
        vertex root;
        vertex source;
        vertex sink;
        u64 tempflux;
    }DovahkiinSt;
    typedef DovahkiinSt *DovahkiinP;

在api.c和main.c中我都有#include" api.h" 我不知道sizeof(struct DovahkiinSt)的问题是什么

1 个答案:

答案 0 :(得分:4)

使用sizeof(DovahkiinSt)sizeof(struct _DovahkiinSt_t)

sizeof(struct DovahkiinSt)毫无意义,因为DovahkiinSt只是struct _DovahkiinSt_t的另一个名称。