Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
In sjabloondefinities typename geeft u een hint aan de compiler dat een onbekende id een type is. In sjabloonparameterlijsten wordt deze gebruikt om een typeparameter op te geven.
Syntaxis
typenameidentifier;
Opmerkingen
Het typename trefwoord moet worden gebruikt als een naam in een sjabloondefinitie een gekwalificeerde naam is die afhankelijk is van een sjabloonargument. Dit is optioneel als de gekwalificeerde naam niet afhankelijk is. Zie Sjablonen en naamomzetting voor meer informatie.
typename kan overal in een sjabloondeclaratie of definitie worden gebruikt door elk type. Dit is niet toegestaan in de basisklasselijst, tenzij dit een sjabloonargument is voor een sjabloonbasisklasse.
template <class T>
class C1 : typename T::InnerType // Error - typename not allowed.
{};
template <class T>
class C2 : A<typename T::InnerType> // typename OK.
{};
Het typename trefwoord kan ook worden gebruikt in plaats van class in sjabloonparameterlijsten. De volgende instructies zijn bijvoorbeeld semantisch gelijkwaardig:
template<class T1, class T2>...
template<typename T1, typename T2>...
Voorbeeld
// typename.cpp
template<class T> class X
{
typename T::Y m_y; // treat Y as a type
};
int main()
{
}