2012-11-01 36 views
0

編譯器是gcc,我使用的是舊版本的Linuxtypedef結構上的錯誤。前 '*' 標記

typedef struct strlist strlist; 

struct strlist 
{ 
    char *data; 
    time_t *timestamp; 
    struct strlist *next; 
} 

strlist * list_directory(char *dirname) 
{ 
//do something 
} 

的錯誤信息是:

error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token 

,它的上線:

strlist * list_directory(char *dirname) 

回答

1
struct strlist 
{ 
    char *data; 
    time_t *timestamp; 
    struct strlist *next; 
}; 
^^^ 
| 

你缺少;在結構聲明的末尾。

1

您需要用分號結束結構聲明。絆了我很多次,當我用C開始編程...