Udostępnij za pośrednictwem


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;

Zobacz też

Informacje

element TypeDef specyfikatora