igg*_*012 4 c++ void function-declaration
可能重复:
C++为什么在params中放空?
这两个声明之间有什么区别,哪个更常用?
void function1();
Run Code Online (Sandbox Code Playgroud)
和
void function2( void );
Run Code Online (Sandbox Code Playgroud)
C++没有区别,它定义为0表示0参数.
然而,它确实在C中制作了一个(void)具有无参数的()平均值的函数,而具有任意数量参数的平均值.
函数定义中的空参数列表表示不带参数的函数.函数声明中的空参数列表指示函数可以采用任何数量或类型的参数.从而,
Run Code Online (Sandbox Code Playgroud)int f() { ... }表示函数f不带参数.然而,
Run Code Online (Sandbox Code Playgroud)int f();只是表明参数的数量和类型是未知的.要明确指出函数不带任何参数,您应该使用关键字定义函数
void.
没有区别C++.
第二个声明只是明确地说该函数没有参数.
第二种是更常用的C,第一种是更常见的C++.
存在的情况下,差异C的原因是:
有了(void),你指定的函数没有参数,同时与()您指定的参数是不确定的(自变量数目不详).
但是,如果它不是函数声明而是函数定义,那么即使C它也是如此(void).