cod*_*der 1 c++ g++ c++11 weffc++
我在这里有一些代码,我正在使用-Weffc ++ -Wall -Wextra进行编译.
基本上我有这个片段:
class base
{};
class test : public base
{
public:
base& operator=(int)
{
return *this;
}
};
Run Code Online (Sandbox Code Playgroud)
我收到警告:warning: 'operator=' should return a reference to '*this' [-Weffc++].我不确定该警告该怎么做.我已经读过,这是完全可以的(即返回一个尊重这个).
有没有办法让我的编辑器开心?
将您的代码更改为:
class test : public base
{
public:
test& operator=(int)
{
return *this;
}
};
Run Code Online (Sandbox Code Playgroud)
每个人都会很开心,而不仅仅是你的编译器.
PS:如果您想了解更多-Weffc ++产生的警告,则可以摘录本书中的建议:
有效的C++:55种改进程序和设计的具体方法,Addison-Wesley,1992,(ISBN 0-321-33487-6).
| 归档时间: |
|
| 查看次数: |
174 次 |
| 最近记录: |