Abhängige Typen benötigen in der Regel typename
, um dem Compiler mitzuteilen, dass das Element ein Typ ist, keine Funktion oder Variable.
Dies ist jedoch nicht immer der Fall.
Zum Beispiel benötigt eine Basisklasse dies nicht, da sie immer nur ein Typ sein kann:
Nun ist meine Frage, Warum benötigt typedef
jemals typename
danach ?
typedef
muss nicht vor dem Typ erscheinen.
Dies ist absolut gültig, und in diesem Fall hoffe ich, dass Sie verstehen, dass die Analyse kompliziert wäre, wenn typename
optional wäre.
Ich kann das verstehen
%Vor% könnte anders interpretiert werden, aber das würde zu unerwarteten Fällen führen, in denen die Position des Schlüsselworts typedef
plötzlich signifikant wird.