2
template <class T>
T Bucky<T>::bigger(){
return (first>second?first:second);
}
为什么我们需要把之前的Bucky之前的:: <>放在上面的代码中?符号<>是什么意思?
template <class T>
T Bucky<T>::bigger(){
return (first>second?first:second);
}
为什么我们需要把之前的Bucky之前的:: <>放在上面的代码中?符号<>是什么意思?
函数的类外定义需要指定它所属的类的指定限定符。
显然Bucky
是一个模板类:
template<typename T>
class Bucky {
T bigger();
};
完整的合格者为Bucky<T>
,因此你必须指定在函数的定义。
要扩展位:编译器应该如何区分,从
class Bucky {
};
否则,这是一个不同的阶级和有效的同时存在。