缺省参数为什么必须从右往左连续定义

C++中的缺省参数为什么必须从右往左连续定义呢 跟压栈顺序有关么

因为只有这样你在调用的时候才能判断缺省哪个参数
加入不这么规定,你定义一个缺失参数的函数如下:
int fun(int a,int b=0,int c,int d)
那么你调用的时候如果写fun(m,n,k)的话,编译器无法判断这m,n,k到底应该给那几个参数啊
跟压栈没啥关系