我正在阅读关于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