AUTOSAR C++14 Rule M10-2-1
All accessible entity names within a multiple inheritance hierarchy should be unique.
説明
ルール定義
All accessible entity names within a multiple inheritance hierarchy should be unique.
根拠
同じ継承階層内に同名のデータ メンバーと非バーチャル関数があると、開発者の混乱を招くおそれがあります。開発者が使用する予定のエンティティが、コンパイラにより選択されるエンティティではない可能性があります。多重継承階層内でアクセス可能なエンティティに一意でない名前を使用することを回避します。
Polyspace 実装
このチェッカーは、同一の派生クラスに属する個々のクラスのエンティティの名前があいまいな場合に、これらのエンティティにフラグを設定します。次の場合にエンティティの名前があいまいになります。
2 つの変数が、型が異なる場合でも同じ名前を共有している。
2 つの関数が同じ名前、同じパラメーター、同じ戻り値の型を共有している。
派生クラス内でアクセスされるデータ メンバーがあいまいな場合、Polyspace® はこの問題をコーディング ルール違反ではなくコンパイルの問題として報告します。チェッカーは、メンバー関数とデータ メンバーなど、異なる種類のエンティティ間における競合をチェックしません。
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 派生クラス |
| カテゴリ: Advisory、Automated |
バージョン履歴
R2019a で導入