#include <iostream>
auto func1(int a, int b) {
struct {
const double& a;
const double& b;
} p = {a, b};
return [&p](int x){ return p.a*x + p.b; };
}
int main() {
auto f = func1(10, 20);
int c = 9;
int d = 8;
std::cout << f(c);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKYXV0byBmdW5jMShpbnQgYSwgaW50IGIpIHsKICAgIHN0cnVjdCB7CiAgICAgICAgY29uc3QgZG91YmxlJiBhOwogICAgICAgIGNvbnN0IGRvdWJsZSYgYjsKICAgIH0gcCA9IHthLCBifTsKCiAgICByZXR1cm4gWyZwXShpbnQgeCl7IHJldHVybiBwLmEqeCArIHAuYjsgfTsKCn0KCmludCBtYWluKCkgewoKICAgIGF1dG8gZiA9IGZ1bmMxKDEwLCAyMCk7CgogICAgaW50IGMgPSA5OwogICAgaW50IGQgPSA4OwoKICAgIHN0ZDo6Y291dCA8PCBmKGMpOwogICAgcmV0dXJuIDA7Cn0=