0_0_37734270_4597.cpp:5:63: error: 'operator()' function uses 'auto' type specifier without trailing return type
template <typename... Args> auto operator()(Args &&... t) const {
^
0_0_37734270_4597.cpp:5:63: note: deduced return type only available with -std=c++1y or -std=gnu++1y
0_0_37734270_4597.cpp: In function 'void sol()':
0_0_37734270_4597.cpp:39:10: error: invalid use of 'auto'
}) (1);
^
0_0_37734270_4597.cpp:91:26: error: invalid use of 'auto'
}) (root, root, 0);
^
0_0_37734270_4597.cpp:100:20: error: invalid use of 'auto'
}) (root, 0);
^
0_0_37734270_4597.cpp: In instantiation of 'sol()::<lambda(auto:1, int, int)> [with auto:1 = Y_Combinator<sol()::<lambda(auto:1, int, int)> >]':
0_0_37734270_4597.cpp:6:50: required from 'auto Y_Combinator<F>::operator()(Args&& ...) const [with Args = {int}; F = sol()::<lambda(auto:1, int, int)>]'
0_0_37734270_4597.cpp:39:10: required from here
0_0_37734270_4597.cpp:36:21: error: invalid use of 'auto'
dfs(v, u);
^
0_0_37734270_4597.cpp: In instantiation of 'sol()::<lambda(auto:2, int, int, int)> [with auto:2 = Y_Combinator<sol()::<lambda(auto:2, int, int, int)> >]':
0_0_37734270_4597.cpp:6:50: required from 'auto Y_Combinator<F>::operator()(Args&& ...) const [with Args = {int&, int&, int}; F = sol()::<lambda(auto:2, int, int, int)>]'
0_0_37734270_4597.cpp:91:26: required from here
0_0_37734270_4597.cpp:86:41: error: invalid use of 'auto'
auto pr = dfs(v, u, hasc);
^
0_0_37734270_4597.cpp: In instantiation of 'sol()::<lambda(auto:3, int, int)> [with auto:3 = Y_Combinator<sol()::<lambda(auto:3, int, int)> >]':
0_0_37734270_4597.cpp:6:50: required from 'auto Y_Combinator<F>::operator()(Args&& ...) const [with Args = {int&, int}; F = sol()::<lambda(auto:3, int, int)>]'
0_0_37734270_4597.cpp:100:20: required from here
0_0_37734270_4597.cpp:97:30: error: invalid use of 'auto'
dfs(v, vis[u]);
^
|