【发布时间】:2017-06-06 08:33:04
【问题描述】:
为什么在 C++14 甚至 C++17 下这段代码不正确?
template <typename T>
function<T(T, T)> ReturnLambda () {
return [] (T x, T y) { return x*y; };
// return [] (auto x, auto y) { return x*y; }; // also incorrect
}
int main() {
auto f = ReturnLambda();
cout << f(3, 4) << endl;
}
【问题讨论】: