一个函数指针名称申明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 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.5k 阅读
1 回答3.3k 阅读
[](void _This) -> void {}
[](void _This) -> void{}
编码~~