rspec/rules/S904/cfamily/rule.adoc

48 lines
1019 B
Plaintext
Raw Normal View History

2021-04-28 16:49:39 +02:00
Unused function parameters are often due to design changes and can lead to mismatched parameter lists.
2021-04-28 16:49:39 +02:00
== 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;
}
};
----
2021-04-28 16:49:39 +02:00
== 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;
}
};
----
2021-04-28 16:49:39 +02:00
== 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.