共用方式為


Typedef 名稱的命名空間

使用宣告的名稱typedef佔據相同的命名空間,做為其他識別項 (除了陳述式的標籤)。 因此,它們不能使用相同的識別項,做為先前宣告的名稱,除了類別型別宣告中。 參考下列範例:

// 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

請參閱

參考

typedef 規範