AUTOSAR C++14 Rule M5-2-3
Casts from a base class to a derived class should not be performed on polymorphic types.
説明
ルール定義
Casts from a base class to a derived class should not be performed on polymorphic types.
根拠
ポリモーフィック基底クラスを派生クラスに明示的にキャストすると、実装階層内の抽象化のレイヤーがバイパスされ、クラス間の結合と依存関係が増加します。
ポリモーフィック クラスを使用する場合は、明示的なダウンキャストの実行を避けてください。ポリモーフィック基底クラスへのポインターでは、派生クラスへのポインターに対する明示的なキャストは必要ありません。
Polyspace 実装
Polyspace® は、基底クラスが派生クラスにキャストされた場合に違反を報告します。
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 式 |
| カテゴリ: Advisory、Automated |
バージョン履歴
R2019a で導入