在《C++ 编程思想》:“关于无参函数声明,C与C++有很大的差别。在C语言中,声明int fun1(),意味着一个可以有任意数目和类型的函数;而在C++中,指的却是一个没有参数的函数”
下面是一个C语言的函数和C++的函数验证了这段话cCxHTML5中文学习网 - HTML5先行者学习网
cCxHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
cCxHTML5中文学习网 - HTML5先行者学习网
# include<stdio.h>
int fun1();cCxHTML5中文学习网 - HTML5先行者学习网
int main()cCxHTML5中文学习网 - HTML5先行者学习网
{cCxHTML5中文学习网 - HTML5先行者学习网
int a = fun1(3, 4);cCxHTML5中文学习网 - HTML5先行者学习网
printf("%d/n", a);cCxHTML5中文学习网 - HTML5先行者学习网
return 0;cCxHTML5中文学习网 - HTML5先行者学习网
}cCxHTML5中文学习网 - HTML5先行者学习网
int fun1(int a, int b)cCxHTML5中文学习网 - HTML5先行者学习网
{cCxHTML5中文学习网 - HTML5先行者学习网
return a + b;cCxHTML5中文学习网 - HTML5先行者学习网
}cCxHTML5中文学习网 - HTML5先行者学习网
cCxHTML5中文学习网 - HTML5先行者学习网
结果没有任何问题,输出结果为7,也即fun()可以声明fun(int, int)cCxHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
cCxHTML5中文学习网 - HTML5先行者学习网
# include<iostream>
cCxHTML5中文学习网 - HTML5先行者学习网
using namespace std;
int fun1();cCxHTML5中文学习网 - HTML5先行者学习网
int main()cCxHTML5中文学习网 - HTML5先行者学习网
{cCxHTML5中文学习网 - HTML5先行者学习网
int a = fun1(3, 4);cCxHTML5中文学习网 - HTML5先行者学习网
cout << a << endl;cCxHTML5中文学习网 - HTML5先行者学习网
return 0;cCxHTML5中文学习网 - HTML5先行者学习网
}cCxHTML5中文学习网 - HTML5先行者学习网
int fun1(int a, int b)cCxHTML5中文学习网 - HTML5先行者学习网
{cCxHTML5中文学习网 - HTML5先行者学习网
return a + b;cCxHTML5中文学习网 - HTML5先行者学习网
}cCxHTML5中文学习网 - HTML5先行者学习网
cCxHTML5中文学习网 - HTML5先行者学习网
编译出错,“fun1”: 函数不接受 2 个参数。说明在C++中fun()不可以声明fun(int, int)cCxHTML5中文学习网 - HTML5先行者学习网
cCxHTML5中文学习网 - HTML5先行者学习网
cCxHTML5中文学习网 - HTML5先行者学习网
cCxHTML5中文学习网 - HTML5先行者学习网