如果函数无参数,那么应声明其参数为 void
在 C++语言中声明一个这样的函数:
int function(void) { return 1; }
则进行下面的调用是不合法的:function(2);
因为在 C++中,函数参数为 void的意思是这个函数不接受任何参数。
但是在 Turbo C 2.0中编译
#include "stdio.h"
int fun()
{
return 1;
}
int main()
{
printf("%d",fun(2));
getchar();
return 1;
}
这是可以编译成功并且打印出1的。
这说明,在 C语言中,可以给无参数的函数传送任意类型的参数, 但是在 C++编译器中编译同样的代码则会出错。
在 C++中,不能向无参数的函数传送任何 参数,出错提示“'fun' : function does not take 1 parameters”。
所以,无论在 C还是 C++中,若函数不接受任何参数,一定要指明参数为 void。