☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

不应省略声明对象或函数的类型

6.11.2 ID_missingType
目录 › next › previous

C 语言在早期阶段曾允许省略声明对象或函数的类型,然而实践表明这种编程方式并不理想,已从 C99 标准中移出。

本规则针对 C 语言,C++ 语言没有这种特性,不受本规则限制。

示例:

extern a;     // Non-compliant
const b;      // Non-compliant
fun(void);    // Non-compliant
typedef tp;   // Non-compliant

例中 a、b、fun、tp 的类型为 int,可被省略声明,但可读性较差。

应改为:

extern int a;     // Compliant
const int b;      // Compliant
int fun(void);    // Compliant
typedef int tp;   // Compliant

相关

ID_oldStyleParamList

依据

ISO/IEC 9899:1999 6.7.2(2) ISO/IEC 9899:2011 6.7.2(2)

参考

MISRA C 2004 8.2 MISRA C 2012 8.1 SEI CERT DCL31-C
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.