首页 > 解决方案 > 我们是否必须放入空参数“void”?

问题描述

最近我读了“K&R”一书,上面写着,如果我们的函数中没有参数,我们必须在括号中写上“void”,以使程序正常工作,也符合旧标准。这些天我们需要它吗?

例子:

int foo(void)
{
/*...*/
}

标签: c

解决方案


假设您正在谈论函数的声明(而不是调用它 - 见下文),那么以下内容(来自此处)应该回答您的问题:

声明符f()f(void)有不同的含义:声明符 f(void)是一种新型(原型)声明符,它声明一个不带参数的函数。声明f()器是旧式(K&R) 声明器,它声明一个接受未指定数量参数的函数(除非在旧式函数定义中使用)

但是,在调用函数时,不能包含void关键字:int p = func(void);won't compile - 你必须使用int p = func();.


推荐阅读