2013-05-07 24 views
2

根據到this Wiki頁面,所以能夠寫出以下結構:將typedef與實例聲明一起使用。 Wiki錯誤?

typedef struct my_struct { 
    int integer; 
} my_struct_t instance; 

ķ& R請勿在「C Proglamming語言」提到這一點。 編譯器也編譯過程中返回錯誤:

error: expected = , , , ; , asm , or __attribute__ before instance

它是一個Wiki錯誤或我做一些愚蠢的事?

回答

3

您誤解了該頁面。您可以或者作出typedef,定義結構的一個實例,但不是兩個。

如果您閱讀整個頁面而不是頂部的語法塊,則可能會更清楚。

+0

他們提出的語法仍然是錯誤的 - 他們試圖通過將'typedef'的概念添加到結構聲明語法以及實例化來簡化它。 – 2013-05-07 09:40:13

+0

語法塊是完全混淆的。 – Alex 2013-05-07 09:42:39

+0

@Alex我同意這很混亂,因爲他們試圖一次性顯示所有可能的'struct'排列。它們應該有兩個塊,一個用於普通的'struct'定義,一個用於'typedef'定義。 – 2013-05-07 09:44:23