AUTOSAR C++14 Rule A5-10-1
A pointer to member virtual function shall only be tested for equality with null-pointer-constant
説明
ルール定義
A pointer to member virtual function shall only be tested for equality with null-pointer-constant.
根拠
メンバー バーチャル関数に対する呼び出しは、実行時にコンパイラによってその関数の最上位の派生バージョンに解決されます。等号演算子 (==) または (!=) を使用して null ポインター定数 nullptr 以外のものをメンバー バーチャル関数へのポインターと比較した場合は、結果が未指定になります。
Polyspace 実装
Polyspace® は、一方のオペランドがメンバー バーチャル関数へのポインターで、もう一方のオペランドが nullptr でない場合の (==) または (!=) 比較にフラグを設定します。
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 式 |
| カテゴリ: Required、Automated |
バージョン履歴
R2020b で導入