template <class T>T Bucky<T>::bigger(){ return (first>second?first:second);}为什么我们需要在上面的代码中将放在Bucky之后的::之前? (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 函数的类外定义要求指定其所属类的命名限定符。显然Bucky是一个模板类: template<typename T> class Bucky { T bigger(); };完整的限定词是Bucky<T>,因此您必须在函数定义中指定它。扩展一下:编译器应如何将其与 class Bucky { };否则,这是一个不同的类,并且可以同时存在。 (adsbygoogle = window.adsbygoogle || []).push({}); 10-08 07:36