foo.cc:70:1: error: 'rnd' function uses 'auto' type specifier without trailing return type
70 | auto rnd()
| ^~~~
foo.cc:70:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
foo.cc:204:5: error: 'split' function uses 'auto' type specifier without trailing return type
204 | auto split(int pos)
| ^~~~
foo.cc:204:5: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
foo.cc:300:86: error: parameter declared 'auto'
300 | template < typename T, typename T_lazy, T default_val, T_lazy default_lazy_val, auto op,
| ^~
foo.cc:301:17: error: parameter declared 'auto'
301 | auto updval, auto lazydown
| ^~~~~~
foo.cc:301:30: error: parameter declared 'auto'
301 | auto updval, auto lazydown
| ^~~~~~~~
foo.cc:378:32: error: lambda-expression in template-argument only available with '-std=c++2a' or '-std=gnu++2a'
378 | typedef segtree< ll, ll, 0, 0, [](ll a, ll b) { return a + b; }, default_updval_func,
| ^
foo.cc:379:40: error: template argument 5 is invalid
379 | default_lazydown_func >
| ^
foo.cc:379:40: note: invalid template non-type parameter
foo.cc:379:40: note: invalid template non-type parameter
foo.cc:381:40: error: lambda-expression in template-argument only available with '-std=c++2a' or '-std=gnu++2a'
381 | typedef segtree< ll, ll, ( ll )1e9, 0, [](ll a, ll b) { return min(a, b); },
| ^
foo.cc:382:18: error: lambda-expression in template-argument only available with '-std=c++2a' or '-std=gnu++2a'
382 | [](segnode< ll, ll >& now) { now.val += now.lazy; }, default_lazydown_func >
| ^
foo.cc:382:93: error: template argument 5 is invalid
382 | [](segnode< ll, ll >& now) { now.val += now.lazy; }, default_lazydown_func >
| ^
foo.cc:382:93: error: template argument 6 is invalid
foo.cc:382:93: note: invalid template non-type parameter
[Hydro](https://hydro.ac)提供评测服务