AUTOSAR C++14 Rule A5-1-6
Return type of a non-void return type lambda expression should be explicitly specified
説明
ルール定義
Return type of a non-void return type lambda expression should be explicitly specified.
根拠
コンパイラは、return 式の型に基づいて、ラムダ式の戻り値の型を推定できます。たとえば、ラムダ式から何も返されない場合、コンパイラは戻りの値の型が void であると推定します。
ラムダ式を宣言するときに戻り値の型を指定するかどうかは、オプションです。戻り値の型が非 void のラムダ式の場合、戻り値の型を明示的に指定しなければ、コードを読む開発者がラムダ式から返される値の型について混乱する可能性があります。
コンパイラが、返された式の型を想定どおりの戻り値の型に暗黙的に変換する際に、明示的な戻り値の型により型チェックが補強されます。
Polyspace 実装
Polyspace® は、戻り値の型が明示的に指定されていない場合、戻り値の型が非 void となっているラムダ式にフラグを設定します。
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 式 |
| カテゴリ: Advisory、Automated |
バージョン履歴
R2020b で導入