Share via


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

참고 항목

참조

형식 정의 지정자