[C++] ラムダ式 関数ポインタを渡す

関数ポインタを引数とする関数にラムダ式を渡す簡単なサンプル

Wandbox サンプルコード
注)日本語でコメントつけたのですが文字化けしています。以前は問題なかったような気がしているのですが後日また確認する予定です。
/*
    関数にラムダ式を渡す
    2019-03-23(土) @d4isk_
*/
#include 
#include 

using ADD_FUNC = int(*)(int, int);

int main()
{   
    // 関数を引数にする関数を定義(ラムダ式)
    auto&& func = [](ADD_FUNC af){
    //auto&& func = [](int(*af)(int, int)){
        std::cout << af(1, 2) << std::endl;
    };
    
    // 関数funcに、ラムダ式を引数(関数)として渡す
    func([](int a, int b)-> int {
        std::cout << "add()" << std::endl;
        return a + b;
    });
}

コメント

タイトルとURLをコピーしました