C++之默认参数顺序(从右到左)和调用顺序(从左到右)

#include<iostream>
using namespace std;
错误,未从右至左逐次定义
//void test1(int x=1, float y, int z=0);

//1、默认参数:应从右至左逐次定义
void test2(int x, float y=0, int z=0){
cout <<"x="<<x<<" y="<<y<<" z="<<z<< endl;
}

int main(){
//2、在调用函数时,传参从左至右匹配,未指定默认值的参数必须传入实际值。
  test2(7);
  test2(5,3);
  test2(1,4,7);
    
 return 0;
}

注意:
1.默认参数的顺序:如果一个函数中有多个默认参数,在形参分布中,默认参数应从右向左依次定义
2.函数调用时传参顺序:在函数调用时,传入的参数是从左至右匹配的;未指定默认参数的,需要显示传实际的实参。

猜你喜欢

转载自blog.csdn.net/u010164190/article/details/123512439