尖括号位置
第一个左括号,在模板名称被解释为模板的一部分之后参数列表,不为大于运算符。 第一个 AMP_GT,在开始尖括号解释之后,将模板的末尾参数列表,,除非它括在括号中,是一个嵌套模板的一部分或是一个模板样式转换表达式的一部分例如 static_cast<int>。
尖括号 (AMP_LTAMP_GT) 的错误位置导致许多模板语法错误。 确保使用适当的间隔和括号使用运算符区分尖括号例如 AMP_GT、 AMP_GTAMP_GT 和 - AMP_GT。 例如:
TempClass< float, a > b ? a : b > test1;
应复盖如下所示:
TempClass< float, (a > b ? a : b) > test1;
同样,请格外,在使用使用尖括号用作模板参数的宏时。