可选参数值

时间:2015-04-08 11:58:03

标签: c++

我想创建一个带有可选参数的函数,该参数取另一个参数的值。 在函数声明中,以下内容不起作用,但这正是我想要做的:

void function(int a, int b=a)   //error

我尝试将变量b的默认值设置为a的值。 最干净的方法是什么?我们可以在不改变函数签名的情况下这样做吗?

2 个答案:

答案 0 :(得分:10)

编写一个只接受一个参数并调用原始函数的附加函数:

inline void function(int a)
{
    function(a, a);
}

答案 1 :(得分:1)

默认参数必须为global variableglobal constant,甚至function。但它不能是local variable,因为local var无法确保构建。