c++ - 我可以从以前的参数中设置默认参数吗?

标签 c++ function arguments

是否可以将函数参数列表中的先前参数用作参数列表中后续参数的默认值?例如,

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/

相关文章:

c++ - 在 3D 世界中移动 - OpenGL

java - 使用 ScriptObjectMirror 将数组结果从 JavaScript 转换为有用的东西

python - 名为 "print"的 argparse 参数

function - 无法在 Powershell 中修改函数参数

c++ - 为什么我收到 "no matching function"错误?

c++ - 程序没有按顺序通过构造函数,从而导致未初始化的变量

c++ - GRPC CreateChannel() 错误无法获取默认 pem 根证书

c - 这个带有多个值(变量)的返回语句是如何工作的?

指向函数的 C++ 指针导致段错误

linux - Bash 脚本在/bin 时忽略参数