【发布时间】:2018-08-03 17:25:45
【问题描述】:
我想将函数存储在变量中。我有一个通用的 setter 函数来分配它。如果没有指定函数,我想使用默认函数。我该如何做到这一点?
到目前为止我的代码:
void(*fmain)();
template <typename Func>
void setFunc(Func f = [](){cout << "Working!" << endl;}){
fmain = f;
}
int main(){
setFunc();
fmain();
}
【问题讨论】:
-
当参数需要隐式转换为
void(*)()时,为什么要将函数作为模板开始? -
好点。我什至没有想到。
标签: c++ function generics lambda default-value