* x; } auto g(auto x) -> decltype (x) { return x + 1; } int x = 10; int z = g(f(x)); template <typename F1, typename F2> auto comp(F1 f1, F2 f2) { return [=](auto x){return f2(f1(x));}; } int z2 = comp([](auto x){return f(x);}, [](auto x){return g(x);})(10); C++