繁体   English   中英

如何编写一个带有默认参数的lambda的泛型函数?

[英]How to write a generic function that takes a lambda with a default argument?

我想将函数存储在变量中。 我有一个通用的设置器功能来分配它。 如果未指定任何功能,我想使用默认功能。 我该如何完成?

到目前为止,我的代码:

void(*fmain)();

template <typename Func>
void setFunc(Func f = [](){cout << "Working!" << endl;}){
    fmain = f;
}

int main(){
    setFunc();

    fmain();
}

提供默认模板参数和(匹配的)默认功能参数:

void default_action(void) {cout << "Working!" << endl;};

template <typename Func = void ( * )(void)>
void setFunc(Func f = &default_action){
    fmain = f;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM