什么是更好的:void foo()或void foo(void)?随着虚空,它看起来丑陋和不一致,但我被告知它是好的.这是真的?
编辑:我知道一些旧的编译器做了奇怪的事情,但如果我只使用GCC,那void foo()好吗?将foo(bar);随后被接受?
void func()
实际上,空参数表示接受任何参数.
void func(void) 不接受任何争论.
但在标准C99中,我找到了这样的界限:
6.7.5.3函数声明
符(包括原型) 14标识符列表仅声明函数参数的标识符.函数声明符中的空列表是该函数定义的一部分,指定该函数没有参数.函数声明符中的空列表不是该函数定义的一部分,它指定不提供有关参数数量或类型的信息.
根据标准,func()并且func(void)是相同的?
我有一个功能,可以用2种方式写.
void function(void) {
// operations....
}
Run Code Online (Sandbox Code Playgroud)
和
void function() {
// operations......
}
Run Code Online (Sandbox Code Playgroud)
两个功能都是相同的原型.为什么我们必须void在函数定义中提及作为参数?
我已经明确指出C99标准文件
6.7.5.3.14标识符列表仅声明函数参数的标识符.函数声明符中的空列表是该函数定义的一部分,指定该函数没有参数.函数声明符中的空列表不是该函数定义的一部分,它指定不提供有关参数数量或类型的信息.
我从那句话中解释的是,void在函数定义中写入是多余的.我弄错了吗?
我在C/C++中看到过一些代码如下:
void Main(void)
Run Code Online (Sandbox Code Playgroud)
和
int Main(void)
Run Code Online (Sandbox Code Playgroud)
这是什么原因:为什么它不是一个参数,而是在void/int等名称之后的括号中使用?