Typname

Weist den Compiler an, dass ein unbekannter Bezeichner ein Typ ist.

typename identifier;

Hinweise

Verwenden Sie dieses Schlüsselwort nur in Vorlagendefinitionen.

Dieses Schlüsselwort muss verwendet werden, wenn der Name ein abhängiges Element des qualifizierten Namens für ein Vorlagenargument ist. es ist optional, wenn der qualifizierte Name nicht abhängig ist.Weitere Informationen finden Sie unter Vorlagen und Namensauflösung.

typename kann von jedem Typ auf eine beliebige Stelle in einer Vorlagendeklaration oder - Definition verwendet werden.Es ist nicht in der Basisklassenliste, sofern sie nicht als Vorlagenargument zu einer basisklasse Vorlagen zulässig.

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

Das typename-Schlüsselwort kann anstelle Klasse in den Vorlagenparameter werden ebenfalls verwendet werden.Beispielsweise sind die folgenden Anweisungen identisch:

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

Beispiel

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

int main()
{
}

Siehe auch

Referenz

C++-Schlüsselwörter

Weitere Ressourcen

Vorlagen