MISRA C Rule­8.2 3001 3007

2025-11-22 05:48:57

声明了一个参数列表为空的函数; 

定义一个无参函数时缺少'void'关键字 。

工具/原料

Rule­8.2 3001 3007

MISRA C:2012

Rule­8.2 3001

规则与等级对应关系(QAC)

MISRA C Rule­8.2 3001 3007

3001  Function has been declared with an empty parameter list. 

参数列表为空的函数声明是一种旧式的声明。

这种类型的声明的问题在于,它没有提供函数接口的参数个数信息,甚至不能确定函数有没有参数。因此,在后续的函数调用中不能够进行任何检查。

注意:

在C++语言中,空参数列表的含义是不同的。它意味着函数 没有 参数。 

如果函数没有参数,那么它的参数列表应该声明为'void'。 如果函数有参数,那么应该使用 新式的原型声明。

MISRA C Rule­8.2 3001 3007

编程规范修改举例

MISRA C Rule­8.2 3001 3007

MISRA C Rule­8.2 3001 3007

Rule­8.2 3007

规则与等级对应关系(QAC)

MISRA C Rule­8.2 3001 3007

3007 "void" has been omitted when defining a function with no parameters. 

当定义无参函数时,可以使用一个空参数列表,或使用由单个关键字 'void' 组成的参数列表。这两种方式在语义上没有不同,只是风格上的不同。但是,当声明无参函数时,'void' 的使用就很重要了。

官方示例

MISRA C Rule­8.2 3001 3007

编程规范修改举例

MISRA C Rule­8.2 3001 3007

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢