Перегрузка оператора equals шаблоном с использованием эффективного c ++ - PullRequest
4 голосов
/ 03 июня 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...