【问题标题】:Do we have to put in empty arguments "void" or not? [duplicate]我们是否必须放入空参数“void”? [复制]
【发布时间】:2020-02-03 20:51:07
【问题描述】:

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

例子:

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

【问题讨论】:

    标签: c


    【解决方案1】:

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

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

    但是,在调用函数时,您不能包含void 关键字:int p = func(void); 不会编译 - 您必须使用 int p = func();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-06
      • 2018-06-23
      • 1970-01-01
      • 2022-12-11
      • 2013-10-19
      • 1970-01-01
      • 2018-02-05
      • 1970-01-01
      相关资源
      最近更新 更多