2011-03-24 87 views
0
typedef struct _lnode{ 
    struct _lnode *next; 
    unsigned short row; 
    unsigned short column; 
    short data; 
}lnode; 

typedef struct _llist{ 
    struct _lnode *header; 
    unsigned int size; 

}llist; 

lnode* add(lnode *lnode, lnode *newNode); 

我在.h文件中的代碼,如果我想編譯然後抱怨「期望聲明說明」在這裏我宣佈「添加」功能的線路。我最近更改IDE到Eclipse CDT和這個代碼的工作我的Linux機器上就好了..C的誤差,「預計聲明說明」

回答

1

您需要更改參數lnode的名字爲它們命名,它混淆編譯:

lnode* add(lnode *oldNode, lnode *newNode); 
3
lnode* add(lnode *node, lnode *newNode); 

不命名您的變量喜歡你的typedef

,並在原型,你不必在所有

lnode* add(lnode*, lnode *); 
+0

這是如此明顯,我沒有看到它:S – 2011-03-24 18:59:40

+0

好吧,它發生;-) – sharpner 2011-03-24 19:00:59

+0

關於原型,這是一個錯誤或只是沒有必要? – 2011-03-24 19:00:59