MISRA C Rule8.2 3001 3007
、 罕铞泱殳 声明了一个参数列表为空的函数; 艘早祓胂 定义一个无参函数时缺少'void'关键字 。
工具/原料
Rule8.2 3001 3007
MISRA C:2012
Rule8.2 3001
1、规则与等级对应关系(QAC)
2、 罕铞泱殳 3001 Function has b髫潋啜缅een declared with an empty parameter list. 参数列表为空的函数声明是一种旧式的声明。这种类型的声明的问题在于,它没有提供函数接口的参数个数信息,甚至不能确定函数有没有参数。因此,在后续的函数调用中不能够进行任何检查。
3、注意:在C++语言中,空参数列表的含义是不同的。它意味着函数没有参数。如果函数没有参数,那么它的参数列表应该声明为'void'。 如果函数有参数,那么应该使用新式的原型声明。
4、编程规范修改举例
Rule8.2 3007
1、规则与等级对应关系(QAC)
2、 罕铞泱殳 3007 "void" has been omitt髫潋啜缅ed when defining a function with no parameters. 当定义无参函数时,可以使用一个空参数列表,或使用由单个关键字 'void' 组成的参数列表。这两种方式在语义上没有不同,只是风格上的不同。但是,当声明无参函数时,'void' 的使用就很重要了。
3、官方示例
4、编程规范修改举例