2014-10-07 100 views
2

什麼typedef char [4] A和typedef char(&A)[4]之間有什麼區別?

typedef char[4] A; 

typedef char (&A)[4]; 

之間的區別?

現在我只是想通過編寫至少一個完整的句子來達到崗位質量標準,因爲我的問題在標題中已經很清楚。

+2

第一個不會編譯 - 這是胡言亂語。第二個將 - 這是一個合法的typedef。這是不同的。 – AnT 2014-10-07 16:00:29

+2

你的意思是'typedef char A [4];'第一個? – whoan 2014-10-07 16:03:16

+0

掛起,但我可以'使用A = char [4];'。那麼爲什麼第一個人不工作? – Alex 2014-10-07 16:03:39

回答

4
typedef char[4] A; 

這是爲數組聲明typedef的無效嘗試。

typedef char (&A)[4]; 

這聲明爲陣列,這是不一樣的數組的引用一個typedef。

要使第一個有效,它應該是typedef char A[4];但這仍然是一個數組的typedef,它仍然不同於第二個。

相關問題