主要内容

MISRA C++:2023 Rule 6.0.2

When an array with external linkage is declared, its size should be explicitly specified

自 R2024b 起

描述

规则定义

When an array with external linkage is declared, its size should be explicitly specified. 1

理由

虽然您可以先声明一个不完整的数组类型,之后再完善该类型,但在首次声明时指定数组大小可以使后续的数组访问更不易出错。

Polyspace 实现

如果声明外部数组时未指定大小,则 Polyspace® 会报告违反了此规则。

故障排除

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

示例

全部展开

int array[10];  
extern int array2[]; //Noncompliant
int array3[]= {0,1,2};
extern int array4[10];

array2 的声明中,未指定数组大小。

检查信息

组:基本概念
类别:建议

版本历史记录

在 R2024b 中推出


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.