在《C++ 编程思想》:“关于无参函数声明,C与C++有很大的差别。在C语言中,声明int fun1(),意味着一个可以有任意数目和类型的函数;而在C++中,指的却是一个没有参数的函数”。
下面是一个C语言的函数和C++的函数验证了这段话
# includeint fun1();int main(){ int a = fun1(3, 4); printf("%d\n", a); return 0;}int fun1(int a, int b){ return a + b;}
结果没有任何问题,输出结果为7,也即fun()可以声明fun(int, int)
# includeusing namespace std;int fun1();int main(){ int a = fun1(3, 4); cout << a << endl; return 0;}int fun1(int a, int b){ return a + b;}
编译出错,“fun1”: 函数不接受 2 个参数。说明在C++中 fun()不可以声明fun(int, int)