…って作った後に参照キャプチャ/コピーキャプチャの存在を知った。 意味ない努力したけどメモ代わりに書いておく。
// ラムダ式受け取る側 #include <functional> ... BOOL Choge::CallFunc(std::function<BOOL(void*)> func,void* p_param){ .... //関数コール BOOL result = func(p_param) .... return result; } // 呼び出し側 main(){ Choge hoge; typedef struct _PARAM{ long arg1; long arg2; long arg3; }PARAM; PARAM param; param.arg1 = 100; param.arg2 = 200; param.arg3 = 300; hoge.CallFunc( [](void* p_param) -> BOOL{ PARAM *p = (PARAM *)p_param; AfxMessageBox(_T("ラムダ!")); ... return TRUE; } ,¶m ); }
ネタ元