函数参数默认值写法
有默认参数值的参数必须在参数表的最右边
void fun(int i,int j=5,int k=10) // 这是正确的写法 void fun(int i, int j=5, int k) // 这是错误写法
先声明,后定义
在写函数时要先在代码前面声明,然后再去定义。
函数默认参数一般写在函数声明的地方,如果写在定义的地方不同的编译器可能会编译出错。
void fun(int i,int j=5,int k=10); // 在使用函数时要先声明 void fun(int i,int j,int k) // 函数定义 { cout << i << j << k; }
参数覆盖
在函数调用的时候,没有实参传递就用默认值,有实参传递就用实参来覆盖默认值。
#include<iostream> #include<stdlib.h> using namespace std; void fun(int i,int j=5,int k=10); // 函数声明 int main() { fun(20);// 函数调用 fun(20,30); fun(20,30,40); system("pause"); return 0; } void fun(int i,int j,int k) // 函数定义 { cout << i << ' '<< j << ' '<< k << endl; }
运行结果: