メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

MISRA C++:2008 Rule 6-6-5

A function shall have a single point of exit at the end of the function

説明

ルール定義

A function shall have a single point of exit at the end of the function 1

根拠

このルールでは return ステートメントが関数本体の最後のステートメントとして記述されなければなりません。それ以外の場合は、以下の問題が発生する可能性があります。

  • return ステートメントに後に続くコードが意図せずに省略される可能性がある。

  • 一部の引数を変更する関数に早期の return ステートメントがある場合、コードを解読する際にどの変更が実際に発生するのかすぐには分かりにくい。

Polyspace 実装

チェッカーは以下の状況にフラグを設定します。

  • 関数に複数の return ステートメントがある。

  • void 関数に return ステートメントは 1 つしかないが、この return ステートメントが関数の最後のステートメントになっていない。

void 関数に return ステートメントがある必要はありません。return ステートメントが存在する場合でも、それが関数の最後のステートメントになる必要はありません。

トラブルシューティング

ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。

チェック情報

グループ: Statements
カテゴリ: 必要

バージョン履歴

R2013b で導入

すべて展開する


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.