次の方法で共有


typedef 名の再宣言

typedef 宣言を使用すると、同じ名前を再宣言して同じ型を参照することができます。 次に例を示します。

// FILE1.H
typedef char CHAR;

// FILE2.H
typedef char CHAR;

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

プログラム PROG.CPP は 2 つのヘッダー ファイルを含み、両方のヘッダー ファイルに名前 CHAR の typedef 宣言が含まれています。 両方の宣言が同じ型を参照する限り、このような再宣言は許容されます。

以前に異なる型として宣言された名前を typedef で再定義することはできません。 したがって、FILE2.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;

参照

関連項目

typedef 指定子