我想知道是否有可能用C++11编写一个返回lambda函数的函数,当然其中一个问题是如何声明这样的函数。每个lambda都有一个类型,但是该类型在C++中是不可表达的。我不认为这是可行的:
auto retFun() -> decltype ([](int x) -> int)
{
return [](int x) { return x; }
}
也不是这样:
int(int) retFun();
我没有注意到任何从lambda到函数指针之类的自动转换。手工创建一个函数对象并返回它是唯一的解决方案吗?
https://stackoverflow.com/questions/4726768
复制相似问题