Language
Compiler
Options
$
prog.cc:15:18: error: function 'operator()<(lambda at prog.cc:13:7)>' with deduced return type cannot be used before it is defined
return f(g(g), std::forward<decltype(args)>(args)...);
^
prog.cc:11:18: note: in instantiation of function template specialization 'main()::(anonymous class)::operator()((lambda at prog.cc:18:5))::(anonymous class)::operator()<(lambda at prog.cc:13:7)>' requested here
return f(g(g), std::forward<decltype(args)>(args)...);
^
prog.cc:9:12: note: in instantiation of function template specialization 'main()::(anonymous class)::operator()((lambda at prog.cc:18:5))::(anonymous class)::operator()<(lambda at prog.cc:13:7)>' requested here
return [=](auto g) {
^
prog.cc:18:4: note: in instantiation of function template specialization 'main()::(anonymous class)::operator()<(lambda at prog.cc:18:5)>' requested here
}([](auto f, int n) -> int {
^
prog.cc:13:7: note: 'operator()<(lambda at prog.cc:13:7)>' declared here
}([=](auto g) {
^
1 error generated.
Exit Code:
1