【发布时间】:2020-02-03 20:51:07
【问题描述】:
最近我读了“K&R”一书,其中写道,如果我们的函数中没有参数,我们必须在括号中写上“void”,以使程序正常工作,也符合旧标准。这些天我们需要它吗?
例子:
int foo(void)
{
/*...*/
}
【问题讨论】:
标签: c
最近我读了“K&R”一书,其中写道,如果我们的函数中没有参数,我们必须在括号中写上“void”,以使程序正常工作,也符合旧标准。这些天我们需要它吗?
例子:
int foo(void)
{
/*...*/
}
【问题讨论】:
标签: c
假设您正在谈论您的函数的 声明(而不是调用它 - 见下文),那么以下内容(来自 here)应该回答您的问题:
声明符
f()和f(void)有不同的含义:声明符f(void)是一个new-style(原型)声明器,它声明一个函数 不带参数。声明符f()是 old-style (K&R) 声明一个函数的声明符,该函数接受 未指定数量的 参数(除非在旧式函数定义中使用)
但是,在调用函数时,您不能包含void 关键字:int p = func(void); 不会编译 - 您必须使用 int p = func();。
【讨论】: