我正在閱讀關於wikipedia在Typedef。在該頁上提到的示例是爲什麼編譯器會抱怨這個例子?
typedef int km_per_hour ;
typedef int points ;
km_per_hour current_speed ;
points high_score ;
...
void congratulate(points your_score) {
if (your_score > high_score)
...
進一步說這是我無法理解的原因?
void foo() {
unsigned int a; // Okay
unsigned km_per_hour b; // Compiler complains
long int c; // Okay
long km_per_hour d; // Compiler complains
...
爲什麼編譯器會抱怨unsigned和long?
請注意,typedefs與宏不一樣。 – Mysticial
就像簽名和未簽名不能與用戶定義的類型(如結構)一起使用,它們也不能與typedef一起使用。 – Jay