关于默认参数值的提供有两个不甚直观的规则,第一个规则是默认值的决议(resolve)操作由最右边开始执行,如果我们为某个参数提供了默认参数,那么这个参数右边的所有参数都必须具有默认参数,下面的属于非法
void display(ostream &os=cout,const vector<int> &vec);
第二个规则是默认值只能指定一次,可以在函数声明出也可以在函数定义处,但不能够在两个地方都指定。
为了提高可见度最好把默认值的指定放在函数声明出。
关于默认参数值的提供有两个不甚直观的规则,第一个规则是默认值的决议(resolve)操作由最右边开始执行,如果我们为某个参数提供了默认参数,那么这个参数右边的所有参数都必须具有默认参数,下面的属于非法
void display(ostream &os=cout,const vector<int> &vec);
第二个规则是默认值只能指定一次,可以在函数声明出也可以在函数定义处,但不能够在两个地方都指定。
为了提高可见度最好把默认值的指定放在函数声明出。