我試圖成員指針傳遞給C++ 11拉姆達沒有成功傳類成員指針LAMBDA捕獲列表C++ 11
pHub
是成員指針
我不斷收到以下錯誤
error C2664: 'void Timer::start(void (__cdecl *)(Timer *),int,int)': cannot convert argument 1 from 'Scheduler::start::<lambda_292d45d0b31426827abd837d93b45bff>' to 'void (__cdecl *)(Timer *)'
我希望能夠使用pHub
在函數內部
pTimer = new Timer(pHub->getLoop());
pTimer->start([this](Timer *tick) {
uv_update_time(pHub->getLoop());
start_time = uv_now(pHub->getLoop());
printf("Im Tick\n");
}, 1000, 1000);
只有captureless lambda表達式可被轉換爲函數指針。 – Praetorian
這是什麼意思 – user63898
如果你想獲得正確的幫助,你應該發佈'Timer'的定義,至少是相關的部分。 – skypjack