In file included from /usr/include/c++/10/bits/stl_algobase.h:71,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from rect.cpp:1:
/usr/include/c++/10/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_equal_to_iter::operator()(_Iterator1, _Iterator2) const [with _Iterator1 = __gnu_cxx::__normal_iterator<rect*, std::vector<rect> >; _Iterator2 = __gnu_cxx::__normal_iterator<rect*, std::vector<rect> >]':
/usr/include/c++/10/bits/stl_algo.h:951:20: required from '_ForwardIterator std::__unique(_ForwardIterator, _ForwardIterator, _BinaryPredicate) [with _ForwardIterator = __gnu_cxx::__normal_iterator<rect*, std::vector<rect> >; _BinaryPredicate = __gnu_cxx::__ops::_Iter_equal_to_iter]'
/usr/include/c++/10/bits/stl_algo.h:982:27: required from '_FIter std::unique(_FIter, _FIter) [with _FIter = __gnu_cxx::__normal_iterator<rect*, std::vector<rect> >]'
rect.cpp:34:38: required from here
/usr/include/c++/10/bits/predefined_ops.h:115:23: error: no match for 'operator==' (operand types are 'rect' and 'rect')
115 | { return *__it1 == *__it2; }
| ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from rect.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:1064: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>&)'
1064 | operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:1064:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/10/bits/stl_algobase.h:71,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from rect.cpp:1:
/usr/include/c++/10/bits/predefined_ops.h:115:23: note: 'rect' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>'
115 | { return *__it1 == *__it2; }
| ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from rect.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:1072: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>&)'
1072 | operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:1072:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/10/bits/stl_algobase.h:71,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from rect.cpp:1:
/usr/include/c++/10/bits/predefined_ops.h:115:23: note: 'rect' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>'
115 | { return *__it1 == *__it2; }
| ~~~~~~~^~~~~~~~~