尖括号位置

模板名称后的第一个左括号解释为模板参数列表的一部分,而不是解释为大于运算符。 左尖括号后的第一个 > 解释为模板参数列表的结尾,除非它包含在括号内、作为嵌套模板的一部分或作为模板样式强制转换表达式(例如 static_cast<int>)的一部分。

错误放置尖括号 (<>) 会导致许多模板语法错误。 确保使用适当的间距和括号以从运算符中区分尖括号,例如 >>>->。 例如:

TempClass< float, a > b ? a : b > test1;

应重新编写为:

TempClass< float, (a > b ? a : b) > test1;

同样,使用将尖括号用作模板参数的宏时,应特别小心。

请参见

其他资源

模板