//函数扩展--函数重载(C语言不支持函数重载)
#include<iostream>
using namespace std;
//函数重载在本质上是相互独立的不同函数(静态链编),在c++编译器编译就已经确定各个函数
//重载函数的函数类型是不同的
//函数返回值不能作为函数重载的依据
//函数重载是由参数列表决定的
//函数参数类型不同
void Fuc(char * b){
printf("%s\n",b);
}
//函数参数个数不同
int Fuc(int a, int b){
return a + b;
}
//函数参数顺序不同
void Fuc(int a, double b){
;
}
void Fuc(double a, int b){
;
}
//函数返回值的不同不能构成函数重载
/*
int Fuc(double a, int b){
;
}
*/
//报错 rror C2556: “int Fuc(double,int)”: 重载函数与“void Fuc(double,int)”只是在返回类型上不同
//函数重载的二义性
/*
void Fuc(double a, int b,int c=3){
;
}
*/
//这个函数与函数void Fuc(double a, int b)存在二义性
void main(){
//函数重载的二义性
//Fuc(1.0, 2);
//报错 error C2668: “Fuc”: 对重载函数的调用不明确
Fuc("");
Fuc(1.0, 2);
system("pause");
}