Condividi tramite


Ridichiarazione di nomi typedef

La dichiarazione typedef può essere utilizzata per ridichiarare lo stesso nome per fare riferimento allo stesso tipo. Ad esempio:

// FILE1.H
typedef char CHAR;

// FILE2.H
typedef char CHAR;

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

Il programma PROG.CPP include due file di intestazione, contenenti entrambe le dichiarazioni typedef per il nome CHAR. Se entrambe le dichiarazioni si riferiscono allo stesso tipo, tale ridichiarazione è accettabile.

typedef non può ridefinire un nome in precedenza dichiarato come un tipo differente. Pertanto, se FILE2.H contiene

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

il compilatore genera un errore a causa dei tentativi di ridichiarare il nome CHAR per fare riferimento a un tipo diverso. Questo consente di estendere i costrutti come:

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;

Vedere anche

Riferimenti

Identificatore typedef