函数和变量一样,定义和声明是可以分开的,我们一般将只需要包含函数原型的函数声明集中放在头文件中,然后通过预处理命令来调用自定义函数库中的函数,这样可以有效的避免函数重定义的问题。
函数的重定义
//函数的重定义
//作者:分解机226
#include <iostream>
using namespace std;
int bl(int a,int b)
{
return a + b;
}
int bl(int a, int b)
{
return a + b;
}
int main()
{
cout << bl(5, 6);
}
运行结果
上面的代码展示了函数的重定义的问题,报错的原因是因为有两个相同的函数定义,参数和返回值也一样,编译器在编译的时候就不知道到底该返回那个函数体的返回值,
函数的声明就不会产生这样的问题,一个文件中只要存在函数声明,编译器就知道在这个文件中的这个函数是可用的,然后在链接的时候会再去其他文件中找有不有这样的函数。
函数的重复声明
//函数的重复声明
//作者:分解机226
#include <iostream>
using namespace std;
int bl(int a,int b)
{
return a + b;
}//定义一个函数
int bl(int a, int b);//声明一个函数
int bl(int, int);//声明一个函数
int main()
{