处理模板函数的简单示例。代码编译并按预期工作。但我的问题是为什么在“Cmp”和“Lit”中都需要“静态”?否则,它不会编译?模板函数采用模板参数
非常感谢!
template<class T> class Cmp{
public:
static int work(T a, T b) {
std::cout << "Cmp\n";
return 0;
}
};
template<class T> class Lit{
public:
static int work(T a, T b){
std::cout << "Lit\n" ;
return 0;
}
};
template<class T, class C>
int compare(const T &a, const T &b){
return C::work(a, b);
}
void test9(){
compare<double, Cmp<double> >(10.1, 20.2);
compare<char, Lit<char> >('a','b');
}
请注意,整个事情可以表达没有任何类,只需要功能和功能模板。 –