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