说明:
限定符包括:::,.,->
一、当类型名称具有以下性质是,就应该在该名称前面添加template前缀:
1.名称出现在一个模板中
2.名称是受限的
3.名称不是用于指定基类继承的列表中,也不是位于引入构造函数的成员初始化列表中
4.名称依赖于模板
而且,只有当前面三个条件同时满足时才能使用前缀template,例如:
template
struct S:X
S():X
X
template X
X
}
typename X
};
struct U{
X
};
二、如果一个模板名称是依赖型名称,需要在该名称前插入template关键字
例如:
template
class Weird{
public:
void casel(template Shell
}
}
编辑特别推荐: