gpt4 book ai didi

c++ - 来自传递参数的函数的默认值

转载 作者:行者123 更新时间:2023-11-28 06:08:27 25 4
gpt4 key购买 nike

double myfunc(int i, vector<custom_class>& class_vec, double x = class_vec[i].y)
{

// do things

}

我想让函数从传递给它的 vector 中获取默认值,除非我传递给它一个不同的参数,如上所述。这可能吗?

我知道这样做更容易,也许更安全(?)

double myfunc(int i, vector<custom_class>& class_vec, double x = 0)
{

if(x == 0) x = class_vec[i].y;

// ... then do stuff

}

但放纵我。

最佳答案

像这样

double myfunc(int i, vector<custom_class>& class_vec)
{
return myfunc(i, class_vec, class_vec[i].y);
}

double myfunc(int i, vector<custom_class>& class_vec, double x)
{
// do things
}

换句话说,重载您的函数,并让两个参数版本调用具有默认值的三个参数版本。

关于c++ - 来自传递参数的函数的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31865661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com