typedef typename?
-
Hallo
Ich habe in einer Datei der STD das gefunden:
typedef typename _Alloc::reference _Reft;
Und gleich darunter hat es wieder ein normales
typedef
.
Also, was für einen Unterschied macht es?MfG, EOutOfResources...
-
Der Scope Operator macht einfach nur das Symbol mit dem Namen "reference" aus _Alloc verfügbar. Das kann jetzt eine Variable sein, eine Methode oder auch ein Typ. Wenn es ein Typ ist, musst du das dem Compiler mittels "typedef typename" mitteilen.
-
typedef typename
hat nicht etwa eine Sonderbedeutung, sondern ist nur die Kombination vontypedef
undtypename
. Letzteres brauchst du bei von Template-Parametern abhängigen Membertypen. Wir hatten das in letzter Zeit einige Male im Forum, da findest du genauere Erklärungen.