私はコードを持っています:
#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;
}
このコードは正常に機能します。ただし、後で次のような2番目の関数を呼び出したいと思います。
auto i = fn(2);
i(4); //error: 'i' cannot be used as a function
後で最後の関数を呼び出してから最初の呼び出しにバインドする方法はありますか?