函数缺省参数实现位置

声明是用户可以看到的部分,客户非常信任地使用这个特性,希望得到一定的结果,但是你在实现里使用了不同的缺省值,那么将是灾难性的。因此编译器禁止声明和定义时同时定义缺省参数值。

类的成员函数的参数表在声明时缺省参数位于参数表右部,如int func(int a,int b=0,int c=5),但在它定义的时候则不能加默认参数,只能写int func(int a,int b,int c);

若声明时没有定义缺省参数值,那么在定义成员函数时可以定义缺省参数值。但这种情况通常用户是看不见的,因此应避免。
对于非类中的函数,在函数声明中定义默认参数的另外一个好处是,可以利用声明来随意更改默认参数的值。

实践证明,缺省参数可以在定义中,也可以在声明中,只要全局的声明和定义中只有一个带参数即可。

你可能感兴趣的:(C语言学习)