worldmap.cpp: In lambda function:
worldmap.cpp:62:36: error: no match for call to '(std::function<void(int, int)>) (int&)'
62 | DFS(v);
| ~~~^~~
In file included from /usr/include/c++/11/functional:59,
from worldmap.cpp:2:
/usr/include/c++/11/bits/std_function.h:586:7: note: candidate: '_Res std::function<_Res(_ArgTypes ...)>::operator()(_ArgTypes ...) const [with _Res = void; _ArgTypes = {int, int}]'
586 | operator()(_ArgTypes... __args) const
| ^~~~~~~~
/usr/include/c++/11/bits/std_function.h:586:7: note: candidate expects 2 arguments, 1 provided
worldmap.cpp: In function 'std::vector<std::vector<int> > create_map(int, int, std::vector<int>, std::vector<int>)':
worldmap.cpp:66:9: error: no match for 'operator=' (operand types are 'std::function<void(int, int)>' and 'create_map(int, int, std::vector<int>, std::vector<int>)::<lambda(int)>')
66 | };
| ^
In file included from /usr/include/c++/11/functional:59,
from worldmap.cpp:2:
/usr/include/c++/11/bits/std_function.h:530:9: note: candidate: 'template<class _Functor> std::function<_Res(_ArgTypes ...)>::_Requires<std::function<_Res(_ArgTypes ...)>::_Callable<_Functor>, std::function<_Res(_ArgTypes ...)>&> std::function<_Res(_ArgTypes ...)>::operator=(_Functor&&) [with _Functor = _Functor; _Res = void; _ArgTypes = {int, int}]'
530 | operator=(_Functor&& __f)
| ^~~~~~~~
/usr/include/c++/11/bits/std_function.h:530:9: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/move.h:57,
from /usr/include/c++/11/bits/stl_pair.h:59,
from /usr/include/c++/11/bits/stl_algobase.h:64,
from /usr/include/c++/11/vector:60,
from worldmap.h:1,
from worldmap.cpp:1:
/usr/include/c++/11/type_traits: In substitution of 'template<bool _Cond, class _Tp> using __enable_if_t = typename std::enable_if::type [with bool _Cond = false; _Tp = std::function<void(int, int)>&]':
/usr/include/c++/11/bits/std_function.h:353:8: required by substitution of 'template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using _Requires = std::__enable_if_t<_Cond::value, _Tp> [with _Cond = std::function<void(int, int)>::_Callable<create_map(int, int, std::vector<int>, std::vector<int>)::<lambda(int)>, create_map(int, int, std::vector<int>, std::vector<int>)::<lambda(int)>, std::__invoke_result<create_map(int, int, std::vector<int>, std::vector<int>)::<lambda(int)>&, int, int> >; _Tp = std::function<void(int, int)>&; _Res = void; _ArgTypes = {int, int}]'
/usr/include/c++/11/bits/std_function.h:530:2: required by substitution of 'template<class _Functor> std::function<void(int, int)>::_Requires<std::function<void(int, int)>::_Callable<_Functor, typename std::enable_if<(! std::is_same<typename std::remove_cv<typename std::remove_reference<_Tp>::type>::type, std::function<void(int, int)> >::value), std::decay<_Func> >::type::type, std::__invoke_result<typename std::enable_if<(! std::is_same<typename std::remove_cv<typename std::remove_reference<_Tp>::type>::type, std::function<void(int, int)> >::value), std::decay<_Func> >::type::type&, int, int> >, std::function<void(int, int)>&> std::function<void(int, int)>::operator=<_Functor>(_Functor&&) [with _Functor = create_map(int, int, std::vector<int>, std::vector<int>)::<lambda(int)>]'
worldmap.cpp:66:2: required from here
/usr/include/c++/11/type_traits:2205:11: error: no type named 'type' in 'struct std::enable_if<false, std::function<void(int, int)>&>'
2205 | using __enable_if_t = typename enable_if<_Cond, _Tp>::type;
| ^~~~~~~~~~~~~
In file included from /usr/include/c++/11/functional:59,
from worldmap.cpp:2:
/usr/include/c++/11/bits/std_function.h:540:9: note: candidate: 'template<class _Functor> std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::reference_wrapper<_Functor>) [with _Functor = _Functor; _Res = void; _ArgTypes = {int, int}]'
540 | operator=(reference_wrapper<_Functor> __f) noexcept
| ^~~~~~~~
/usr/include/c++/11/bits/std_function.h:540:9: note: template argument deduction/substitution failed:
worldmap.cpp:66:9: note: 'create_map(int, int, std::vector<int>, std::vector<int>)::<lambda(int)>' is not derived from 'std::reference_wrapper<_Tp>'
66 | };
| ^
In file included from /usr/include/c++/11/functional:59,
from worldmap.cpp:2:
/usr/include/c++/11/bits/std_function.h:469:7: note: candidate: 'std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(const std::function<_Res(_ArgTypes ...)>&) [with _Res = void; _ArgTypes = {int, int}]'
469 | operator=(const function& __x)
| ^~~~~~~~
/usr/include/c++/11/bits/std_function.h:469:33: note: no known conversion for argument 1 from 'create_map(int, int, std::vector<int>, std::vector<int>)::<lambda(int)>' to 'const std::function<void(int, int)>&'
469 | operator=(const function& __x)
| ~~~~~~~~~~~~~~~~^~~
/usr/include/c++/11/bits/std_function.h:487:7: note: candidate: 'std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::function<_Res(_ArgTypes ...)>&&) [with _Res = void; _ArgTypes = {int, int}]'
487 | operator=(function&& __x) noexcept
| ^~~~~~~~
/usr/include/c++/11/bits/std_function.h:487:28: note: no known conversion for argument 1 from 'create_map(int, int, std::vector<int>, std::vector<int>)::<lambda(int)>' to 'std::function<void(int, int)>&&'
487 | operator=(function&& __x) noexcept
| ~~~~~~~~~~~^~~
/usr/include/c++/11/bits/std_function.h:501:7: note: candidate: 'std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::nullptr_t) [with _Res = void; _ArgTypes = {int, int}; std::nullptr_t = std::nullptr_t]'
501 | operator=(nullptr_t) noexcept
| ^~~~~~~~
/usr/include/c++/11/bits/std_function.h:501:17: note: no known conversion for argument 1 from 'create_map(int, int, std::vector<int>, std::vector<int>)::<lambda(int)>' to 'std::nullptr_t'
501 | operator=(nullptr_t) noexcept
| ^~~~~~~~~
worldmap.cpp:67:12: error: no match for call to '(std::function<void(int, int)>) (int)'
67 | DFS(0);
| ~~~^~~
In file included from /usr/include/c++/11/functional:59,
from worldmap.cpp:2:
/usr/include/c++/11/bits/std_function.h:586:7: note: candidate: '_Res std::function<_Res(_ArgTypes ...)>::operator()(_ArgTypes ...) const [with _Res = void; _ArgTypes = {int, int}]'
586 | operator()(_ArgTypes... __args) const
| ^~~~~~~~
/usr/include/c++/11/bits/std_function.h:586:7: note: candidate expects 2 arguments, 1 provided