Redeclaration 的 typedef 名稱
typedef宣告可以用來重新宣告以參考相同的型別相同的名稱。例如:
// FILE1.H
typedef char CHAR;
// FILE2.H
typedef char CHAR;
// PROG.CPP
#include "file1.h"
#include "file2.h" // OK
程式的程式中。CPP 包含兩個標頭檔,兩者都包含typedef宣告名稱CHAR。兩個宣告會參考相同的型別,因為這類重複是可接受的。
A typedef無法重新定義一個先前被宣告為其他類型的名稱。因此,如果 2 小時。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;