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