template <class T>
void Fun(typename const T::iterator it)
{
return ;
}
int main()
{
return 0;
}

看看下面的正确代码:
template <class T>
void Fun(const typename T::iterator it)
{
return ;
}
int main()
{
return 0;
}
结论就是:
typename 需要紧邻嵌套类型(nested dependent name).
本文纠正了一个常见的C++模板编程错误:在使用typename与嵌套依赖名称时的位置。正确的放置方式是将typename紧邻嵌套类型,例如`typename T::iterator`。通过对比错误与正确的代码示例,阐明了这一规则。
370

被折叠的 条评论
为什么被折叠?



