-1

編集:申し訳ありませんが、参考文献を理解せずにこの質問をしました...

このコードを実行すると、このエラーが発生するようです...

エラー: タイプ '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) 

問題は、必要に応じて関数参照の関数を変更したいということです...これを行う他の方法はありますか? 本当に存在するかどうか教えてください。

さよなら、

サミュエル

4

2 に答える 2