重载operator =里面的模板类

q09*_*987 5 c++ templates

template<typename T> ClassA
{
    ...
    ClassA& operator=(const ClassA&);

    ...
};

// case one:
template<typename T>
ClassA<T>& ClassA<T>::operator=(const ClassA &rhs)
{ ... }

// case two:
template<typename T>
ClassA<T>& ClassA<T>::operator=(const ClassA<T> &rhs)
{ ... }
Run Code Online (Sandbox Code Playgroud)

我假设案例一是正确的.

问题>为什么我们不必ClassA<T>在函数参数列表中使用,例如两个?

Mar*_*k B 0

当它位于函数参数范围内(但不在返回类型中)时,它是隐含的。另请参阅使用嵌套类作为参数类型。