Compartilhar via


TypeName

Informa o compilador que um identificador desconhecido é um tipo.

typename identifier;

Comentários

Use esta palavra-chave somente em definições de modelo.

Esta palavra-chave deve ser usado se o nome é um nome qualificado dependente de um argumento de modelo; ele é opcional se o nome qualificado não é dependente.Para obter mais informações, consulte modelos e resolução de nomes.

TypeName pode ser usado por qualquer tipo em qualquer lugar em uma declaração de modelo ou definição.Não é permitido na lista de classe base, a menos que como um argumento de modelo para uma classe base do modelo.

template <class T>
class C1 : typename T::InnerType // Error - typename not allowed.
{};
template <class T>
class C2 : A<typename T::InnerType>  // typename OK.
{};

O typename palavra-chave também pode ser usado no lugar de classe no parâmetro de modelo de lista.Por exemplo, as instruções a seguir são idênticas:

template<class T1, class T2>...
template<typename T1, typename T2>...

Exemplo

// typename.cpp
template<class T> class X
{
   typename T::Y m_y;   // treat Y as a type
};

int main()
{
}

Consulte também

Referência

Palavras-chave C++

Outros recursos

Modelos