このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C++:2008 Rule 10-3-1
There shall be no more than one definition of each virtual function on each path through the inheritance hierarchy.
説明
ルール定義
There shall be no more than one definition of each virtual function on each path through the inheritance hierarchy. 1
根拠
チェッカーは、継承階層内の同じパスに複数の定義をもつバーチャル メンバー関数にフラグを設定します。関数が複数回定義されている場合、特定の関数呼び出しで使用される実装があいまいになる可能性があります。
Polyspace 実装
チェッカーは、基底クラスのメンバー関数が virtual
キーワードを使用せずに派生クラスで再定義されている場合にも違反を報告します。
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
グループ: Derived Classes |
カテゴリ: 必要 |
バージョン履歴
R2013b で導入
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.