编辑:对不起,我在没有了解参考资料的情况下问了这个问题......
当我运行这段代码时,我似乎收到了这个错误......
错误:从“main()::”类型的右值对“std::function&”类型的非常量引用无效初始化
#include <bits/stdc++.h>
using namespace std ;
void printfunction(bool a, function <void()> &b)
{
if (a == true)
{
b() ;
}
}
int main()
{
int value = 45 ;
printfunction(true, [value](){cout << "The value is : " << value ;}) ;
}
但是,当我添加一个before 函数时,错误消失了......就像这样:const
void printfunction(bool a,const function <void()> &b)
问题是我想在需要时更改函数引用中的函数......还有其他方法可以做到这一点吗?请让我知道它是否确实存在。
再见,
塞缪尔