一,函数重载应避免默认参数
void test(int a,int b = 10) { cout << "1" << endl; } void test(int a) { cout << "2" << endl; } int main() { int a = 1; test(a);//程序会报错,因为默认参数的问题,使函数重载出现二义性。 }
二,形参个数一致,仅仅是形参名或者返回值不同
三,重载函数形参在同位置分别类型为传值或者传引用
int fun(int a) { return 0; } int fun(int &b) { b = 20; return b; } int main() { int m, ret = 0; m = 10; ret = fun(m); return 0; }