主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

MISRA C++:2008 Rule 0-1-1

A project shall not contain unreachable code

描述

规则定义

A project shall not contain unreachable code. 1

理由

此规则会标记因语法原因导致一组语句不可达的情况。例如,return 语句后的代码始终不可达。

不可达代码涉及不必要的维护,并且通常可能指示编程错误。

Polyspace 实现

如果无法访问代码中的语句,Polyspace® 会报告缺陷。

故障排除

如果您预计存在违规,而 Polyspace 未报告该违规,请参阅Diagnose Why Coding Standard Violations Do Not Appear as Expected

示例

全部展开

int func(int arg) {
 int temp = 0;
 switch(arg) {
     temp = arg; // Noncompliant
     case 1:
     {
         break;
     }
     default:
     {
         break;
     }
 }
 return arg;
 arg++; // Noncompliant
}

以下语句不可达:

  • switch 语句内部不属于 casedefault 模块的语句。

  • return 语句后的语句。

检查信息

组:与语言无关的问题
类别:必需

版本历史记录

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