多语言展示
当前在线:1157今日阅读:61今日分享:18

MISRA C Rule­8.2 3001 3007

声明了一个参数列表为空的函数;  定义一个无参函数时缺少'void'关键字 。
工具/原料
1

Rule­8.2 3001 3007

2

MISRA C:2012

Rule­8.2 3001
1

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

2

3001  Function has been declared with an empty parameter list.  参数列表为空的函数声明是一种旧式的声明。这种类型的声明的问题在于,它没有提供函数接口的参数个数信息,甚至不能确定函数有没有参数。因此,在后续的函数调用中不能够进行任何检查。

4

注意:在C++语言中,空参数列表的含义是不同的。它意味着函数 没有 参数。 如果函数没有参数,那么它的参数列表应该声明为'void'。 如果函数有参数,那么应该使用 新式的原型声明。

5

编程规范修改举例END

Rule­8.2 3007
1

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

2

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

3

官方示例

4

编程规范修改举例END

推荐信息