typename指示一个类型名,而非定义一个类型,以下声明了一个Seq::iterator类型的变量itr,其中Seq是一个模板实例化时才知道的类:
typename Seq::iterator itr;
如果没有typename指示,Seq::iterator会被认为是Seq的静态变量,而不是类型名。
typename关键字不会定义一个类型,如果你想定义一个新类型的话,你必须这样:
typedef typename Seq::iterator ITR;
typename Seq::iterator itr;
如果没有typename指示,Seq::iterator会被认为是Seq的静态变量,而不是类型名。
typename关键字不会定义一个类型,如果你想定义一个新类型的话,你必须这样:
typedef typename Seq::iterator ITR;
本文解释了C++中typename关键字的作用,即指示编译器某个标识符是指类型名称而不是变量名称。通过一个具体例子说明了typename如何帮助正确解析模板中的类型。
3400

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



