возвращение * это дает Weffc ++ предупреждение

У меня есть код Вот что я компилирую с -Weffc ++ -Wall -Wextra.

В основном у меня есть этот фрагмент:

class base
{};

class test : public base
{
public:
base& operator=(int)
{
return *this;
}
};

и я получаю предупреждение: warning: 'operator=' should return a reference to '*this' [-Weffc++], Я не совсем уверен, что делать с этим предупреждением. Я прочитал, что это совершенно нормально (то есть, чтобы вернуть это).

Есть ли способ, которым я могу сделать мой комплимент счастливым?

1

Решение

Измените свой код на:

class test : public base
{
public:
test& operator=(int)
{
return *this;
}
};

И все будут счастливы, а не только ваш компилятор.

PS: Если вы хотите узнать больше, предупреждения -Weffc ++ являются выдержкой из рекомендаций, приведенных в этой книге:

Эффективный C ++: 55 конкретных способов улучшить ваши программы и разработки,
Addison – Wesley, 1992, (ISBN 0-321-33487-6).

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]