传递参数的函数的默认值
Default value of functions from passed arguments
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
}
却纵容我。
像这样
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++中提供模板化函数作为另一个函数的参数,默认值?
- 函数不返回默认值
- 在 c++ 中,如果我创建一个接受一个具有默认值的参数的构造函数 - 它会用作默认(空)构造函数吗?
- 为什么 std::move 不将默认移动构造函数中的源变量更改为默认值?
- 具有默认值的单个参数构造函数是否与默认构造函数相同?
- 在子类函数覆盖中省略具有默认值的参数
- 函数作为具有默认值的参数
- 将复制构造函数设置为默认值在继承自 QObject 时不起作用
- 当 T 不可默认构造时,构造函数初始值设定项列表中 std::array<T,N> 的初始化
- 未设置默认值的 c++ 构造函数
- C++中出现意外的编译错误:将默认值传递给函数参数
- 如何从类构造函数传递值C++作为此类方法的默认参数?
- 组合 std::vector 默认值和填充构造函数
- 在结构C++,构造函数中的默认值和默认参数有什么区别
- 在c++中设置构造函数默认值
- 指针对成员函数默认值出现与CRTP相关的编译器错误
- C++构造函数默认值头文件