gpt4 book ai didi

c++ - 返回 *this 给出 Weffc++ 警告

转载 作者:行者123 更新时间:2023-11-30 00:43:51 25 4
gpt4 key购买 nike

我有一些代码 here我正在使用 -Weffc++ -Wall -Wextra 进行编译。

基本上我有这个片段:

class base
{};

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

我收到警告:warning: 'operator=' should return a reference to '*this' [-Weffc++]。我不太确定该警告是什么意思。我读到这完全没问题(即返回一个推导的 this)。

有什么方法能让我的编译器开心吗?

最佳答案

将您的代码更改为:

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

每个人都会很高兴,而不仅仅是您的编译器。

PS:如果您想了解更多,-Weffc++ 产生的警告是本书推荐的摘录:

Effective C++: 55 Specific Ways to Improve Your Programs and Designs, Addison–Wesley, 1992, (ISBN 0-321-33487-6).

关于c++ - 返回 *this 给出 Weffc++ 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52171958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com