Typedef 이름 redeclaration
typedef 선언을 사용 하 여 동일한 형식으로 참조 하는 같은 이름을 다시 선언 합니다.예를 들면 다음과 같습니다.
// FILE1.H
typedef char CHAR;
// FILE2.H
typedef char CHAR;
// PROG.CPP
#include "file1.h"
#include "file2.h" // OK
PROG 프로그램입니다.CPP 모두를 포함 하는 두 개의 헤더 파일을 포함 typedef 에 대 한 이름 선언 CHAR.이러한 redeclaration 두 선언은 동일한 형식으로 참조 하는 경우 허용 됩니다.
A typedef 이전에 다른 형식으로 선언 된 이름을 다시 정의할 수 없습니다.따라서 경우 파일 2.H 포함 되어 있습니다.
// FILE2.H
typedef int CHAR; // Error
컴파일러 오류 이름을 다시 선언 하려고 때문에 발생 CHAR 다른 유형을 참조 합니다.이 구조를 같이 확장 됩니다.
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;