In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
from /usr/include/c++/11/bits/specfun.h:45,
from /usr/include/c++/11/cmath:1935,
from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
from robots.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_less_iter::operator()(_Iterator1, _Iterator2) const [with _Iterator1 = const Robot*; _Iterator2 = const Robot*]':
/usr/include/c++/11/bits/stl_algobase.h:1295:14: required from 'bool std::__lexicographical_compare_impl(_II1, _II1, _II2, _II2, _Compare) [with _II1 = const Robot*; _II2 = const Robot*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/11/bits/stl_algobase.h:1312:46: required from 'static bool std::__lexicographical_compare<_BoolType>::__lc(_II1, _II1, _II2, _II2) [with _II1 = const Robot*; _II2 = const Robot*; bool _BoolType = false]'
/usr/include/c++/11/bits/stl_algobase.h:1383:60: required from 'bool std::__lexicographical_compare_aux1(_II1, _II1, _II2, _II2) [with _II1 = const Robot*; _II2 = const Robot*]'
/usr/include/c++/11/bits/stl_algobase.h:1417:49: required from 'bool std::__lexicographical_compare_aux(_II1, _II1, _II2, _II2) [with _II1 = __gnu_cxx::__normal_iterator<const Robot*, std::vector<Robot> >; _II2 = __gnu_cxx::__normal_iterator<const Robot*, std::vector<Robot> >]'
/usr/include/c++/11/bits/stl_algobase.h:1747:48: required from 'bool std::lexicographical_compare(_II1, _II1, _II2, _II2) [with _II1 = __gnu_cxx::__normal_iterator<const Robot*, std::vector<Robot> >; _II2 = __gnu_cxx::__normal_iterator<const Robot*, std::vector<Robot> >]'
/usr/include/c++/11/bits/stl_vector.h:1931:42: required from 'bool std::operator<(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&) [with _Tp = Robot; _Alloc = std::allocator<Robot>]'
robots.cpp:22:20: required from here
/usr/include/c++/11/bits/predefined_ops.h:45:23: error: no match for 'operator<' (operand types are 'const Robot' and 'const Robot')
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
from /usr/include/c++/11/bits/specfun.h:45,
from /usr/include/c++/11/cmath:1935,
from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
from robots.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:1187:5: note: candidate: 'template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)'
1187 | operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1187:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
from /usr/include/c++/11/bits/specfun.h:45,
from /usr/include/c++/11/cmath:1935,
from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
from robots.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:45:23: note: 'const Robot' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
from /usr/include/c++/11/bits/specfun.h:45,
from /usr/include/c++/11/cmath:1935,
from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
from robots.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:1195:5: note: candidate: 'template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)'
1195 | operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1195:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
from /usr/include/c++/11/bits/specfun.h:45,
from /usr/include/c++/11/cmath:1935,
from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
from robots.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:45:23: note: 'const Robot' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~