MISRA C++:2008 Rule 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.
説明
ルール定義
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. 1
根拠
未使用のパラメーターは多くの場合、後から設計を変更したことを示します。おそらく、特定のパラメーターの使用をすべて削除したが、パラメーター リストからそのパラメーターを削除し忘れているのです。
未使用のパラメーターは不要なオーバーヘッドになります。誤って異なる数の引数を指定して関数を呼び出し、パラメーターの不一致を引き起こす可能性もあります。
Polyspace 実装
バーチャル関数ごとに、チェッカーは関数のすべてのオーバーライドを検査します。使用されていない名前付きパラメーターがオーバーライドに含まれている場合は、チェッカーが元のバーチャル関数に対する違反を表示して、オーバーライドを補助的なイベントとして一覧表示します。
Polyspace では、単一の翻訳単位内でバーチャル関数の未使用パラメーターがチェックされることに注意してください。たとえば、基底クラスに未使用のパラメーターをもつバーチャル メソッドが含まれているが、そのメソッドの派生クラスの実装でそのパラメーターが使用されている場合、ルール違反になりません。しかし、基底クラスと派生クラスが別々のファイルで定義されている場合、チェッカーはファイルごとに動作するため、基底クラスではこのルールの違反にフラグが設定されます。
チェッカーは、本体が空の関数内の未使用パラメーターにはフラグを設定しません。
レポート内の追加のメッセージ
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.
Function has unused parameters. funcName
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: Language Independent Issues |
| カテゴリ: 必要 |
バージョン履歴
R2016b で導入
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.