我正在将旧的c ++代码移植到有效的c ++安全版本。我读到有关此标志的问题,但是由于我没有选择是否执行此标志的决定,因此必须这样做。使用模板时,我遇到了重载equals运算符的问题。
我试图将功能从头文件移到实际的cpps,但这没有任何效果。删除模板是可行的,但是由于需要模板,它只是告诉我问题出在哪里。
template <typename T1, typename T2>
MyClass& operator = ( const boost::tuple<T1,T2> & _v )
{
//Some operations
return *this;
}
编译此代码将引发以下错误: 'operator=' should return a reference to *this
,指向确切的行 return *this;
。 MyClass不继承任何其他类。这是effc ++错误还是我缺少什么?