rspec/rules/S904/rule.adoc
2021-01-26 14:30:57 +01:00

48 lines
1019 B
Plaintext

Unused function parameters are often due to design changes and can lead to mismatched parameter lists.
== Noncompliant Code Example
----
class A
{
public:
virtual void f ( uint16_t * para1, int16_t unusedpara ) = 0; // Noncompliant, unusedpara not used in any of the overriding functions.
};
class B1: public A
{
public:
virtual void f ( uint16_t * para1, int16_t unusedpara ) // Noncompliant, unusedpara not used in any of the overriding functions.
{
*para1 = 1U;
}
};
----
== Compliant Solution
----
class A
{
public:
virtual void f ( uint16_t * para1 ) = 0; // Compliant, all parameters used at least once in an overriding function.
};
class B1: public A
{
public:
virtual void f ( uint16_t * para1 ) // Compliant, all parameters used at least once in an overriding function.
{
*para1 = 1U;
}
};
----
== See
* MISRA {cpp}:2008, 0-1-12 - There shall be no unused parameters (named or unnamed) in the set of parameters for a virtual function and all the functions that override it.