Compartilhar via


Redeclaração de nomes de typedef

O typedef declaração pode ser usada para redeclare o mesmo nome para referir-se o mesmo tipo.Por exemplo:

// FILE1.H
typedef char CHAR;

// FILE2.H
typedef char CHAR;

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

O programa PROG.CPP inclui dois arquivos de cabeçalho, ambos contêm typedef declarações para o nome CHAR.As duas declarações de referir-se para o mesmo tipo, contanto que tais redeclaração é aceitável.

A typedef não é possível redefinir um nome que tenha sido declarado previamente como um tipo diferente.Portanto, se FILE2.H contém

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

o compilador emitirá um erro devido a tentativa de redeclare o nome de CHAR para se referir a um tipo diferente.Isso se estende para construções, como:

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;

Consulte também

Referência

Especificador de TypeDef