【发布时间】:2012-04-07 14:46:16
【问题描述】:
我有代码:
#include <iostream>
using namespace std;
auto fn = ([](int x){
return [x](int y) {
return x * y;
};
});
int main() {
int i = fn(2)(4); // 8
cout << i << endl;
return 0;
}
此代码运行良好。 但是,我想稍后调用第二个函数,例如:
auto i = fn(2);
i(4); //error: 'i' cannot be used as a function
有什么方法可以稍后调用最后一个函数,然后与第一个调用绑定?
【问题讨论】:
-
你的意思是 auto i = fn(2)?
标签: c++ design-patterns c++11 currying