double myfunc(int i, vector<custom_class>& class_vec, double x = class_vec[i].y)
{
// do things
}
我希望函数从我传递给它的向量中取一个默认值,除非我传递一个不同的参数,如上所述。这可能吗?
我知道这样做更容易,也许更安全(?)
double myfunc(int i, vector<custom_class>& class_vec, double x = 0)
{
if(x == 0) x = class_vec[i].y;
// ... then do stuff
}
但放纵我。
答案 0 :(得分:1)
喜欢这个
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
}
换句话说,重载你的函数,让两个参数版本调用带有默认值的三个参数版本。