共用方式為


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 規範