一个函数指针名称申明typedef void* (*SFThreadFuncPtr)(void* pUser);[](void* _This) -> void*{}为什么这个lambda没办法传给这个SFThreadFuncPtr定义的变量?
typedef void* (*SFThreadFuncPtr)(void* pUser);
[](void* _This) -> void*{}
认证0级讲师
[](void _This) -> void {}[](void _This) -> void{}編碼~
lambda表達式的類型是一個閉包,不能直接賦值給指標類型,可以使用std::function對lambda表達式進行包裝,然後呼叫。
lambda
std::function
#include <functional> std::function<void* (void*)> fun; fun = [](void* _This) -> void* { return NULL;}; fun(NULL);
[](void _This) -> void {}
[](void _This) -> void{}
編碼~
lambda
表達式的類型是一個閉包,不能直接賦值給指標類型,可以使用std::function
對lambda
表達式進行包裝,然後呼叫。