什么是符号<>手段?

时间:2016-12-24 10:05:12

标签: c++ templates

template <class T>
T Bucky<T>::bigger(){
  return (first>second?first:second);
}

为什么我们需要把&lt;&gt;之前的Bucky之前::在上面的代码中?

1 个答案:

答案 0 :(得分:2)

函数的类外定义需要指定它所属类的命名限定符。

显然Bucky是模板类:

 template<typename T>
 class Bucky {
     T bigger();
 };

完整限定符为Bucky<T>,因此您必须在函数定义中指定。

扩展一点:编译器应该如何区分

 class Bucky {
 };

否则,这是一个不同的类,同时存在有效。