template <int K>
class Wrap
{
// stuffs
};
Run Code Online (Sandbox Code Playgroud)
如果我实例化模板有Wrap < 5>4 > p;什么问题?我在数值常量错误之前得到了预期的nonqualified-id.如何解决这个问题?
Pra*_*rav 13
更改Wrap < 5>4 > p;到Wrap < (5>4) > p;
>遇到的第一个被视为模板参数列表的结尾而不是大于运算符>
ISO C++ [14.2/3]
解析template-id时,第一个非嵌套
>被视为模板参数列表的结尾,而不是大于运算符.
如果我实例化模板会有什么问题
Wrap < 5>4 > p;?
通过查看声明,这应该是直观明显的:即使对人类来说也是如此令人困惑!编译器无法处理>这里的双重含义:它是否意味着"大于"?这是否意味着"关闭模板参数列表"?事实证明,这意味着两者,并且编译器没有提示应用哪个含义.两者都是技术上有效的解析.
| 归档时间: |
|
| 查看次数: |
9440 次 |
| 最近记录: |