主要内容

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 语句,但该 return 语句不是函数中的最后一个语句。

void 函数不需要有 return 语句。如果存在 return 语句,它不必是函数中的最后一个语句。

故障排除

如果您预期会出现违规,而 Polyspace® 未报告该违规,请参阅诊断为何编码规范违规未按预期显示

检查信息

组:声明
类别:必需

版本历史记录

在 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.