在C+或C中foo(Void)和foo()之间有什么区别吗?考虑这两个函数定义:void foo() { }void foo(void) { }这两者有什么区别吗?如果没有,为什么void有争论吗?审美原因?
3 回答
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
void foo()
意思是“一个函数” foo
获取未指定类型的未指定数量的参数“ void foo(void)
意思是“一个函数” foo
不争论“
void foo()
意思是“一个函数” foo
不争论“ void foo(void)
意思是“一个函数” foo
不争论“
foo(void)
extern "C"
叮当猫咪
TA贡献1776条经验 获得超12个赞
此外,如果函数声明不包括参数,如 double atof();
这也意味着对atof的参数没有任何假设;所有参数检查都被关闭。空参数列表的这一特殊含义是为了允许旧的C程序使用新的编译器进行编译。但是在新的程序中使用它是个坏主意。如果函数接受参数,则声明它们;如果不使用参数,则使用void。
- 3 回答
- 0 关注
- 750 浏览
添加回答
举报
0/150
提交
取消