C ++ i currying
Mam kod:
<code>#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; } </code>
Ten kod działa poprawnie. Chcę jednak później wywołać drugą funkcję, taką jak:
<code>auto i = fn(2); i(4); //error: 'i' cannot be used as a function </code>
Czy jest jakiś sposób na wywołanie ostatniej funkcji później, a następnie powiązanie z pierwszym wywołaniem?