微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

派生函数不使用所有可用参数是否可以接受?

如何解决派生函数不使用所有可用参数是否可以接受?

我有一个重写的成员函数,没有使用它传递的所有参数?这是否表明存在设计缺陷?

解决方法

监视未使用的参数总是一个好主意。编译器通常会发出警告,这绝对是要提防潜在问题的提示。

如果您的界面过于宽泛,或多或少地传递了不必要的参数,则可以将其视为设计问题。但是有很多例子,在某些情况下,参数没有使用。

一方面,编译器会发出警告,另一方面,编译器会提供一些属性来抑制此警告,例如:

int f1( int x [[gnu::unused]] )
{
    return 0;
}

为什么在C ++标准中看不到[[unused]]属性对我来说还是个谜。

这里根本没有一般性的好/坏建议。尽量避免它,但不要使其成为学术规则。您总是应该考虑一个替代方案,但这可能会带来更多问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。