2023-05-03 11:06:20 +02:00
== Why is this an issue?
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 18:08:03 +02:00
2023-05-03 11:06:20 +02:00
=== Noncompliant code example
2021-04-28 16:49:39 +02:00
2022-02-04 17:28:24 +01:00
[source,cpp]
2021-04-28 16:49:39 +02:00
----
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 18:08:03 +02:00
2023-05-03 11:06:20 +02:00
=== Compliant solution
2021-04-28 16:49:39 +02:00
2022-02-04 17:28:24 +01:00
[source,cpp]
2021-04-28 16:49:39 +02:00
----
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 18:08:03 +02:00
2023-05-03 11:06:20 +02:00
== Resources
2021-04-28 16:49:39 +02:00
* 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.
2021-04-28 18:08:03 +02:00
2021-06-02 20:44:38 +02:00
2021-06-03 09:05:38 +02:00
ifdef::env-github,rspecator-view[]
2021-09-20 15:38:42 +02:00
'''
== Implementation Specification
(visible only on this page)
2023-05-25 14:18:12 +02:00
=== Message
Remove the unused parameter 'xxx'.
2021-09-20 15:38:42 +02:00
2021-06-08 15:52:13 +02:00
'''
2021-06-02 20:44:38 +02:00
== Comments And Links
(visible only on this page)
2023-05-25 14:18:12 +02:00
=== relates to: S1172
=== on 16 Oct 2014, 12:15:46 Ann Campbell wrote:
\[~freddy.mallet] relates to RSPEC-1172
=== on 16 Oct 2014, 12:20:42 Ann Campbell wrote:
\[~samuel.mercier] please:
* fill in the appropriate reference field(s).
* provide a See section.
2021-06-03 09:05:38 +02:00
endif::env-github,rspecator-view[]