Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 派生函数不使用所有可用参数是否可以接受?_C++_Inheritance_Virtual Functions - Fatal编程技术网

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

C++ 派生函数不使用所有可用参数是否可以接受?,c++,inheritance,virtual-functions,C++,Inheritance,Virtual Functions,我有一个重写的成员函数,它没有使用它传递的所有参数?这是否表明存在设计缺陷?最好注意未使用的参数。编译器通常会发出警告,这绝对是为了提醒您注意潜在的问题 如果您的界面太宽,并且传递了或多或少不需要的参数,则可以将其视为设计问题。但是有很多例子,在某些情况下,参数没有使用 一方面,编译器发出警告,另一方面,编译器提供属性以抑制警告,如以下示例所示: int f1( int x [[gnu::unused]] ) { return 0; } 为什么我们没有看到C++中[[未使用]属性]对我

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

最好注意未使用的参数。编译器通常会发出警告,这绝对是为了提醒您注意潜在的问题

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

一方面,编译器发出警告,另一方面,编译器提供属性以抑制警告,如以下示例所示:

int f1( int x [[gnu::unused]] )
{
    return 0;
}
<>为什么我们没有看到C++中[[未使用]属性]对我来说有点神秘。
这里没有一般的好/坏建议。尽量避免,但不要把它当作学术规则。您应该始终考虑其他选择,但这可能会带来更多问题。

请举一个实际的例子,因为您的问题太广泛了。我想说,不一定,但值得调查。不一定。我的代码库中有一个例子:给优化者的一些提示。有时不需要提示。注意未使用的PARM总是一个好主意。编译器通常会发出警告。如果您的界面过于宽泛,并且或多或少地通过了不必要的参数,则可以将其视为设计问题。但是这里没有一般的好/坏建议。@Jack:对我来说,问题很清楚,没有必要得到一个覆盖函数的例子,它没有考虑所有参数。它应该有什么帮助?即使在所有一般情况下都没有“是/否”答案,所有需要的信息都在问题中。