c - 我们是否必须放入空参数“void”?
问题描述
最近我读了“K&R”一书,上面写着,如果我们的函数中没有参数,我们必须在括号中写上“void”,以使程序正常工作,也符合旧标准。这些天我们需要它吗?
例子:
int foo(void)
{
/*...*/
}
解决方案
假设您正在谈论函数的声明(而不是调用它 - 见下文),那么以下内容(来自此处)应该回答您的问题:
声明符
f()
和f(void)
有不同的含义:声明符f(void)
是一种新型(原型)声明符,它声明一个不带参数的函数。声明f()
器是旧式(K&R) 声明器,它声明一个接受未指定数量参数的函数(除非在旧式函数定义中使用)
但是,在调用函数时,不能包含void
关键字:int p = func(void);
won't compile - 你必须使用int p = func();
.
推荐阅读
- android - 如何在xml或java中获取字体文件夹
- three.js - 三.js 通过名称属性值获取所有网格。
- javascript - ReactJS Starter - 意外的令牌 JSX
- sql-server - TSQL 将数据库 BLOB 提取到临时表中
- r - 如何在 R 中没有任何类别分组的情况下将 ggplot2 用于条形图?
- azure - 将 B2C 重定向 URL 设置为 b2clogin.com 时,我在哪里可以将 validateAuthority 设置为 false
- python - 考虑不确定性的高斯拟合
- asp.net-mvc - 防止在 ASP.NET MVC 中为某些视图搭建脚手架
- angularjs - 根据自定义 ui-grid 上的值启用和禁用单元格选择
- javascript - ReCaptcha V3 Invisible: Uncaught (in promise) 请求超时