Sdílet prostřednictvím


typename

Říká kompilátoru, že je neznámý identifikátor typ.

typename identifier;

Poznámky

Toto klíčové slovo používejte pouze v definici šablony.

Toto klíčové slovo musí být použito, pokud je název kvalifikovaný název závislý na argumentu šablony a je volitelný, pokud tento kvalifikovaný název není závislý.Další informace naleznete v tématu Šablony a překlad názvů.

Klíčové slovo typename může být použito libovolným typem kdekoli v deklaraci nebo definici šablony.Není povoleno v seznamu základních tříd, není-li argument šablony základní třídy šablony.

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

Klíčové slovo typename lze také použít místo klíčového slova class v seznamu parametrů šablony.Například, následující příkazy jsou shodné:

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

Příklad

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

int main()
{
}

Viz také

Referenční dokumentace

Klíčová slova jazyka C++

Další zdroje

Šablony