'动态Arr:<T>:运算符 =' :无法将函数定义与现有声明匹配

'DynamicArr<T>::operator =' : unable to match function definition to an existing declaration

本文关键字:函数 定义 声明 lt Arr 动态 gt 运算符      更新时间:2023-10-16

我的类头中有这个原型:

DynamicArr<T> & operator=(const DynamicArr<T> &);

我在课堂上使用这个代码:

template <class T>
DynamicArr<T>& DynamicArr<T>::operator=(DynamicArr<T>& da){
   doStuff();
   return *this;
}

但由于某种原因,它与我的原型不匹配。那怎么了?

您在参数中忘记了const

此外,您必须将实现放在头文件中,否则编译器可能无法实例化模板。