首先注意,C语言函数没有默认参数的说法。但是c++可以。
1.有函数声明时,默认参数可以放在函数声明或定义中,但只能放在二者之一。例如:
void fun(int n=1); 函数声明
或者
void fun(int n=1) 函数定义
{...}
没有函数声明时,默认参数在函数定义时指出。
2.在具有多个参数的函数中指定默认值时,默认参数都必须出现在不默认参数的右边,一旦某个参数开始指定默认值,它右边的所有参数都必须指定默认值,例如:
void fun(int n,int m=1); (正确)
void fun(int n,int m=1,int k=2); (正确)
void fun(int n=0,int m); (错误)
void fun(int n,int m=1,int k); (错误)