次の方法で共有


型定義の名前の名前空間

typedef を使用して宣言された名前は他の識別子と同じ名前空間を使用します (ステートメント ラベルを除く)。したがって宣言のを除き以前に宣言された名前と ID を使用できません。次に例を示します。

// typedef_names1.cpp
// C2377 expected
typedef unsigned long UL;   // Declare a typedef name, UL.
int UL;                     // C2377: redefined.

他の識別子に関連する名前または非表示にする規則は typedef を使用して宣言した名前の表示を制御します。そのため次の例はC++ ではありません :

// typedef_names2.cpp
typedef unsigned long UL;   // Declare a typedef name, UL
int main()
{
   unsigned int UL;   // Redeclaration hides typedef name
}

// typedef UL back in scope

参照

関連項目

型定義の指定子