【发布时间】:2020-01-23 02:49:19
【问题描述】:
以下代码因此错误而失败
E0413 没有合适的从 "lambda []float (int i)->float" 到 "float (*)(int i)" 的转换函数存在
int test;
float (*f)(int i) = [&](int i) -> float {return test; };
我该如何解决这个问题?我需要 Capture 子句。
【问题讨论】:
-
那你就不能使用函数指针了。
f真的必须是指针吗? -
A lambda (with captures) 是一些未指定的函子类型,与函数指针不同。
标签: c++ function c++11 lambda function-pointers