Umístění ostré závorky
První otevírací závorka po názvu šablony je interpretována jako součást seznamu argumentů šablony, nikoli jako operátor větší než.První > za otevírací ostrou závorkou je interpretován jako konec seznamu argumentů šablony, pokud není uzavřen v závorkách, není součástí vnořené šablony nebo není součástí přetypování výrazu stylu šablony, jako je static_cast<int>.
Chybné umístění ostrých závorek (<>) způsobí mnoho chyb syntaxe šablony.Přesvědčte se, zda používáte správné mezery a závorky pro odlišení ostrých závorek od operátorů, jako jsou >, >> a –>.Příklad:
TempClass< float, a > b ? a : b > test1;
by mělo být přepsáno jako:
TempClass< float, (a > b ? a : b) > test1;
Podobně věnujte zvláštní pozornost při použití makra, které používá ostré závorky jako argumenty šablony.