函数重载:函数名相同 参数不同
函数重载的判断标准:
参数个数,参数类型,参数顺序
函数返回值不是函数重载的判断标准
函数重载和默认参数
int func(int a , int b ,int c =1)
{
return 0;
}
int func(int a, int b)
{
return 0;
}
int main()
{
int a = 2, b = 2;
func(a, b);
return 0;
}
在调用函数时编译器会报错,因为产生了歧义即二义性。
函数重载与函数指针
伪码如下:
int func(int a, int b);
int func(int a)
typedef int (*FUNC)(int a);
int main()
{
FUNC tmp = func;
func(1);
}
编译器通过调用时使用的参数来确定函数指针的。