typedef名称的重新
typedef 说明可用于重新声明引用相同类型的相同的名称。 例如:
// FILE1.H
typedef char CHAR;
// FILE2.H
typedef char CHAR;
// PROG.CPP
#include "file1.h"
#include "file2.h" // OK
程序 PROG.CPP 包括两个头文件,它们都包含该名称的 CHARtypedef 说明。 只要两个声明都引用同一个类型,以便重新声明它。
typedef 不能重新定义以前声明为不同的类型的名称。 因此,因此,如果包含 FILE2.H
// FILE2.H
typedef int CHAR; // Error
由于该尝试重新声明该名称 CHAR 引用另一种类型,编译器将发出错误。 此扩展到构造 (例如:
typedef char CHAR;
typedef CHAR CHAR; // OK: redeclared as same type
typedef union REGS // OK: name REGS redeclared
{ // by typedef name with the
struct wordregs x; // same meaning.
struct byteregs h;
} REGS;