函数重载,区别一是参数类型不同,二是参数个数不同。
默认参数可以多于1个,但必须放在参数序列的后部。
尽量不要用默认参数,会影响阅读
error C2668: “f”: 对重载函数的调用不明确
1 #include <iostream> 2 using namespace std; 3 4 void f(int i, int j = 0)//默认参数 5 { 6 std::cout << i << " " << j << std::endl; 7 } 8 9 //error C2668: “f”: 对重载函数的调用不明确 10 11 void f(int i)//默认参数 12 { 13 std::cout << i << " " << std::endl; 14 } 15 16 void main() 17 { 18 f(10); 19 20 system("pause"); 21 }
仅有函数返回值不同区分不了重载函数的。