typename
템플릿 정의 typename
에서 알 수 없는 식별자가 형식이라는 힌트를 컴파일러에 제공합니다. 템플릿 매개 변수 목록에서 형식 매개 변수를 지정하는 데 사용됩니다.
구문
typename
identifier
;
설명
typename
템플릿 정의의 이름이 템플릿 인수에 종속된 정규화된 이름인 경우 키워드(keyword) 사용해야 합니다. 정규화된 이름이 종속되지 않은 경우 선택 사항입니다. 자세한 내용은 템플릿 및 이름 확인을 참조 하세요.
typename
는 템플릿 선언 또는 정의의 모든 형식에서 사용할 수 있습니다. 템플릿 기본 클래스에 대한 템플릿 인수가 아니면 기본 클래스 목록에서 허용되지 않습니다.
template <class T>
class C1 : typename T::InnerType // Error - typename not allowed.
{};
template <class T>
class C2 : A<typename T::InnerType> // typename OK.
{};
typename
템플릿 매개 변수 목록 대신 class
키워드(keyword) 사용할 수도 있습니다. 예를 들어 다음 문은 의미상 동일합니다.
template<class T1, class T2>...
template<typename T1, typename T2>...
예시
// typename.cpp
template<class T> class X
{
typename T::Y m_y; // treat Y as a type
};
int main()
{
}
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기