是否可以将函数参数列表中的先前参数用作参数列表中后续参数的默认值?例如,
void f( int a, int b = a, int c = b );
如果可以的话,有什么使用规则吗?
最佳答案
答案是否定的,你不能。您可以使用重载获得您想要的行为:
void f(int a, int b, int c);
inline void f(int a, int b) { f(a,b,b); }
inline void f(int a) { f(a,a,a); }
至于最后一个问题,C 根本不允许使用默认参数。
关于c++ - 我可以从以前的参数中设置默认参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1880866/