MISRA C Rule8.2 3001 3007
声明了一个参数列表为空的函数;
定义一个无参函数时缺少'void'关键字 。
工具/原料
Rule8.2 3001 3007
MISRA C:2012
Rule8.2 3001
规则与等级对应关系(QAC)

3001 Function has been declared with an empty parameter list.
参数列表为空的函数声明是一种旧式的声明。
这种类型的声明的问题在于,它没有提供函数接口的参数个数信息,甚至不能确定函数有没有参数。因此,在后续的函数调用中不能够进行任何检查。
注意:
在C++语言中,空参数列表的含义是不同的。它意味着函数 没有 参数。
如果函数没有参数,那么它的参数列表应该声明为'void'。 如果函数有参数,那么应该使用 新式的原型声明。

编程规范修改举例


Rule8.2 3007
规则与等级对应关系(QAC)

3007 "void" has been omitted when defining a function with no parameters.
当定义无参函数时,可以使用一个空参数列表,或使用由单个关键字 'void' 组成的参数列表。这两种方式在语义上没有不同,只是风格上的不同。但是,当声明无参函数时,'void' 的使用就很重要了。
官方示例

编程规范修改举例

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