Я портирую старый код 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 ++ или мне чего-то не хватает?