2010-10-03 132 views
0

錯誤:解引用指針不完全型
問題行是「GL->點[0] =(結構列表*)&foo;」
我讀的地方,我可以存儲的聲明。如果是這種情況,我需要向我解釋。C:鏈表混亂

struct ref { 
    char **name; 
    struct list **point; 
}; 

int main () { 
    typedef struct { 
     char **name; 
     struct list **point; 
    } temp; 

    struct ref *gl; 

    gl->name = malloc (1024 * sizeof(char *)); 
    gl->name[0] = "A"; 

    temp foo; 
    foo.name = malloc (1024 * sizeof(char *)); 
    foo.name[0] = "B"; 

    gl->point[0] = (struct list *)&foo; 

    printf ("!%s!\n" , gl->point[0]->name[0]); 
} 
+0

請注意,typedef temp和struct ref類型不是'相同類型';你不應該重複那樣的代碼。 – 2010-10-03 15:16:37

+0

哦,我誤以爲所有的結構都是相同的類型。這有助於很多。 – Jay 2010-10-03 15:25:36

回答

1

什麼是struct list?沒有類型命名爲struct list(至少在你所展示的內容中)。

也許你的意思是struct ref

0

沒有在代碼示例中定義struct list這就是錯誤所在。