//函数扩展--函数重载(C语言不支持函数重载) #include<iostream> using namespace std; //函数重载在本质上是相互独立的不同函数(静态链编),在c++编译器编译就已经确定各个函数 //重载函数的函数类型是不同的 //函数返回值不能作为函数重载的依据 //函数重载是由参数列表决定的 //函数参数类型不同 void Fuc(char * b){ printf("%s ",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"); }