一个函数指针名称申明typedef void* (*SFThreadFuncPtr)(void* pUser);
[](void* _This) -> void*{}
为什么这个lambda没办法传给这个SFThreadFuncPtr定义的变量?
一个函数指针名称申明typedef void* (*SFThreadFuncPtr)(void* pUser);
[](void* _This) -> void*{}
为什么这个lambda没办法传给这个SFThreadFuncPtr定义的变量?
lambda
表达式的类型是一个闭包,不能直接赋值给指针类型,可以使用std::function
对lambda
表达式进行包装,然后调用。
#include <functional>
std::function<void* (void*)> fun;
fun = [](void* _This) -> void* { return NULL;};
fun(NULL);
3 回答865 阅读✓ 已解决
1 回答2.3k 阅读
1 回答834 阅读✓ 已解决
2 回答1.1k 阅读
1 回答1.2k 阅读
1 回答718 阅读
1 回答784 阅读
[](void _This) -> void {}
[](void _This) -> void{}
编码~~