Udostępnij za pośrednictwem


TypeName

Informuje kompilator, że typem jest nieznany identyfikator.

typename identifier;

Uwagi

Tylko w definicjach szablonu, należy używać słowa kluczowego.

Słowo kluczowe this musi używane, jeśli nazwa jest kwalifikowana nazwa zależne od argumentu szablon; jest opcjonalne, jeśli kwalifikowana nazwa nie jest zależne.Aby uzyskać więcej informacji, zobacz szablonów i rozpoznawanie nazw.

TypeName mogą być używane przez dowolnego typu, w dowolnym miejscu szablonu deklaracji lub definicji.To nie jest dozwolony w listy klasy podstawowej, chyba że jako argument szablonu do szablonu klasy bazowej.

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

Typename można również użyć słowa kluczowego zamiast klasy w parametrze szablonu listy.Na przykład poniższe instrukcje są identyczne:

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

Przykład

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

int main()
{
}

Zobacz też

Informacje

Słów kluczowych języka C++

Inne zasoby

Szablony