Neudeklaration von Namen einer Typdefinition (typedef)

Die typedef Deklaration kann verwendet werden, um denselben Namen erneut deklarieren denselben Typ verweisen.Beispiele:

// FILE1.H
typedef char CHAR;

// FILE2.H
typedef char CHAR;

// PROG.CPP
#include "file1.h"
#include "file2.h"   // OK

Das Programm PROG.CPP enthält zwei Deklarationen für typedef Headerdateien, die den Namen CHARenthalten.Solange die beiden Deklarationen denselben Typ verweisen, ist dieses redeclaration zulässig.

typedef kann einen Namen nicht neu definieren, der zuvor als anderer Typ deklariert wurde.Wenn FILE2.H enthält

// FILE2.H
typedef int CHAR;     // Error

gibt der Compiler einen Fehler aufgrund des Versuchs, den Namen CHAR erneut zu deklarieren, um einen anderen Typ zu verweisen.Dadurch erstreckt sich auf die Konstrukte, z. B.:

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;

Siehe auch

Referenz

Typedef-Spezifizierer