Redeclaration nazwy elementu typedef
typedef Deklaracja może służyć do redeclare tą samą nazwą, odnoszą się do tego samego typu.Na przykład:
// FILE1.H
typedef char CHAR;
// FILE2.H
typedef char CHAR;
// PROG.CPP
#include "file1.h"
#include "file2.h" // OK
Program PROG.CPP zawiera dwa pliki nagłówka, które zawierają typedef deklaracje dla nazwy CHAR.Tak długo, jak długo zarówno deklaracje odnoszą się do tego samego typu, takie redeclaration jest dopuszczalne.
A typedef nie można ponownie zdefiniować nazwę, która wcześniej został zadeklarowany jako innego typu.W związku z tym jeśli Plik2.Zawiera H
// FILE2.H
typedef int CHAR; // Error
kompilator generuje błąd z powodu próba nazwę redeclare CHAR do odwoływania się do innego typu.Spowoduje to rozszerzenie z konstrukcjami takich jak:
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;