Platzierung von Winkelklammern
Die erste öffnende Klammer nach dem Vorlagennamen wird als Teil der Vorlagenargumentliste interpretiert, nicht als ein Größer-als-Operator. Das erste > nach der öffnenden Winkelklammer wird als das Ende der Argumentliste der Vorlage interpretiert, sofern es nicht von Klammern umgeben ist, Teil einer geschachtelten Vorlage oder Teil eines vorlagenartigen Umwandlungsausdrucks wie static_cast<int> ist.
Die ungültige Platzierung von spitzen Klammern (<>) verursacht viele Vorlagensyntaxfehler. Stellen Sie sicher, dass Sie den richtigen Abstand und die richtigen Klammern verwenden, um spitze Klammern aus Operatoren wie >, >> und -> zu unterscheiden. Beispiel:
TempClass< float, a > b ? a : b > test1;
sollte umgeschrieben werden in:
TempClass< float, (a > b ? a : b) > test1;
Lassen Sie auch besondere Sorgfalt walten, wenn Sie Makros verwenden, die spitze Klammern als Vorlagenargumente verwenden.