編集:申し訳ありませんが、参考文献を理解せずにこの質問をしました...
このコードを実行すると、このエラーが発生するようです...
エラー: タイプ 'main()::' の右辺値からのタイプ 'std::function&' の非 const 参照の無効な初期化
#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 ;}) ;
}
しかし、前の関数を追加するとエラーは消えconst
ます...次のように:
void printfunction(bool a,const function <void()> &b)
問題は、必要に応じて関数参照の関数を変更したいということです...これを行う他の方法はありますか? 本当に存在するかどうか教えてください。
さよなら、
サミュエル