我有一些正在使用-Weffc++ -Wall -Wextra编译的代码here。
基本上我有以下片段:
class base
{};
class test : public base
{
public:
base& operator=(int)
{
return *this;
}
};
我得到警告:
warning: 'operator=' should return a reference to '*this' [-Weffc++]
。我不太确定该警告该怎么做。我已经读过,这是完全可以的(即返回一个与此相关的内容)。有什么办法能让我的编译器满意吗?
最佳答案
将您的代码更改为:
class test : public base
{
public:
test& operator=(int)
{
return *this;
}
};
每个人都会感到高兴,而不仅仅是您的编译器。
PS:如果您想进一步了解-Weffc++产生的警告,则摘自本书中的建议:
关于c++ - 返回*这会给出Weffc++警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52171958/