2011-12-18 100 views
0

如標題所述,代碼吹塑得到具有克++錯誤:枚舉在結構編譯錯誤

error: expected specifier-qualifier-list before ‘logType’ 

代碼:

enum 
{ 
    log_memory, 
    log_filesystem, 
    log_default 
}logType; 

typedef struct 
{ 
    logType type; 
    void (*logPrint)(char* msg); 

}logsystem; 
+0

順便說一下,在C++中,'struct'的'typedef'技巧是不必要的。只要寫'struct logsystem {...};' – 2011-12-18 02:09:25

回答

3

此:

enum 
{ 
    ... 
} logType; 

聲明一個可變 ,而不是類型。你想這樣的:

enum logType 
{ 
    ... 
}; 

[側面說明:C++通常慣例是有類型名稱開頭大寫字母。]

2

當聲明enum你們的話enum之後指定它的名字,它不喜歡使用typedef創建一個struct的別名。

enum logType 
{ 
    log_memory, 
    log_filesystem, 
    log_default 
};