所谓函数原型,又称函数声明,就是在调用这个函数之前要先声明一下这个函数,才能让别的函数能够访问到它(如果这个函数定义在调用它的代码块的前面则不用声明)
C语言和C++都保留了函数声明这一需求,在声明时都有如下要求:
- 返回值类型与原函数必须相同
- 形参表的类型与顺序必须与原函数相同,但是函数原型可以不写形参名称,即便写了形参名称也可以和原函数不一样
但是有一个很细微但是很重大的区别(以下代码均为函数原型,不是函数):
C语言中:
int f(); // 表示可以有很多个参数
int f(void); // 表示没有参数
而在C++中,上述两行代码是等价的