一个函数指针名称申明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 回答1.1k 阅读✓ 已解决
1 回答955 阅读✓ 已解决
4 回答744 阅读
1 回答824 阅读
1 回答857 阅读
1 回答623 阅读
1 回答730 阅读
[](void _This) -> void {}
[](void _This) -> void{}
编码~~