MISRA C:2023 Rule 17.4
All exit paths from a function with non-void return type shall have an explicit return statement with an expression
R2024a 以降
説明
ルール定義
All exit paths from a function with non-void return type shall have an explicit return statement with an expression 1 .
根拠
非 void 関数が明示的に値を返さないが呼び出し元の関数がその戻り値を使用する場合、動作は未定義です。この動作を回避するには、以下の手順に従います。
returnステートメントに明示的な式を与えます。実行中に、少なくとも 1 回
returnステートメントを必ず実行するようにします。
C99 以降を使用する場合は例外として、main() 関数に明示的な return ステートメントが含まれていないことは、このルールに準拠しています。
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
例
チェック情報
| グループ: 関数 |
| カテゴリ: Mandatory |
| AGC カテゴリ: Mandatory |
バージョン履歴
R2024a で導入
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.