2014-10-07 165 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,它仍然不同于第二个。

相关问题