fork(1) download
  1. #include <utility>
  2. #include <algorithm>
  3. #include <vector>
  4. #include <tuple>
  5. #include <unordered_map>
  6.  
  7. using namespace std;
  8.  
  9. using liczba = pair<int, float>;
  10. using xxx = unordered_map<int, char>;
  11. using dar = pair<liczba, xxx::iterator>;
  12.  
  13. bool operator< (const dar& d1, const dar& d2)
  14. {
  15. return true;
  16. }
  17.  
  18. int main()
  19. {
  20. vector<dar> dary;
  21. dar d;
  22. dary.push_back(d);
  23. dary.push_back(d);
  24. dary.push_back(d);
  25. dary.push_back(d);
  26. dary.push_back(d);
  27. sort(dary.begin(), dary.end());
  28. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
In file included from /usr/include/c++/5/utility:70:0,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h: In instantiation of 'constexpr bool std::operator<(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&) [with _T1 = std::pair<int, float>; _T2 = std::__detail::_Node_iterator<std::pair<const int, char>, false, false>]':
/usr/include/c++/5/bits/predefined_ops.h:43:23:   required from 'constexpr bool __gnu_cxx::__ops::_Iter_less_iter::operator()(_Iterator1, _Iterator2) const [with _Iterator1 = __gnu_cxx::__normal_iterator<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> >*, std::vector<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> > > >; _Iterator2 = __gnu_cxx::__normal_iterator<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> >*, std::vector<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> > > >]'
/usr/include/c++/5/bits/stl_algo.h:1842:14:   required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> >*, std::vector<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> > > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/5/bits/stl_algo.h:1880:25:   required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> >*, std::vector<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> > > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/5/bits/stl_algo.h:1966:31:   required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> >*, std::vector<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> > > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/5/bits/stl_algo.h:4698:18:   required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> >*, std::vector<std::pair<std::pair<int, float>, std::__detail::_Node_iterator<std::pair<const int, char>, false, false> > > >]'
prog.cpp:27:31:   required from here
/usr/include/c++/5/bits/stl_pair.h:222:50: error: no match for 'operator<' (operand types are 'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>' and 'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>')
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
/usr/include/c++/5/bits/stl_pair.h:220:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator<(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^
/usr/include/c++/5/bits/stl_pair.h:220:5: note:   template argument deduction/substitution failed:
/usr/include/c++/5/bits/stl_pair.h:222:50: note:   'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>' is not derived from 'const std::pair<_T1, _T2>'
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/algorithm:61,
                 from prog.cpp:2:
/usr/include/c++/5/bits/stl_iterator.h:298:5: note: candidate: template<class _Iterator> bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
     operator<(const reverse_iterator<_Iterator>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:298:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/utility:70:0,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:222:50: note:   'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>' is not derived from 'const std::reverse_iterator<_Iterator>'
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/algorithm:61,
                 from prog.cpp:2:
/usr/include/c++/5/bits/stl_iterator.h:348:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
     operator<(const reverse_iterator<_IteratorL>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:348:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/utility:70:0,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:222:50: note:   'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>' is not derived from 'const std::reverse_iterator<_Iterator>'
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/algorithm:61,
                 from prog.cpp:2:
/usr/include/c++/5/bits/stl_iterator.h:1089:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator<(const std::move_iterator<_Iterator>&, const std::move_iterator<_IteratorR>&)
     operator<(const move_iterator<_IteratorL>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:1089:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/utility:70:0,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:222:50: note:   'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>' is not derived from 'const std::move_iterator<_Iterator>'
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/algorithm:61,
                 from prog.cpp:2:
/usr/include/c++/5/bits/stl_iterator.h:1095:5: note: candidate: template<class _Iterator> bool std::operator<(const std::move_iterator<_Iterator>&, const std::move_iterator<_Iterator>&)
     operator<(const move_iterator<_Iterator>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:1095:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/utility:70:0,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:222:50: note:   'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>' is not derived from 'const std::move_iterator<_Iterator>'
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
In file included from /usr/include/c++/5/string:52:0,
                 from /usr/include/c++/5/random:40,
                 from /usr/include/c++/5/bits/stl_algo.h:66,
                 from /usr/include/c++/5/algorithm:62,
                 from prog.cpp:2:
/usr/include/c++/5/bits/basic_string.h:4985:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const std::basic_string<_CharT, _Traits, _Alloc>&, const std::basic_string<_CharT, _Traits, _Alloc>&)
     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^
/usr/include/c++/5/bits/basic_string.h:4985:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/utility:70:0,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:222:50: note:   'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>' is not derived from 'const std::basic_string<_CharT, _Traits, _Alloc>'
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
In file included from /usr/include/c++/5/string:52:0,
                 from /usr/include/c++/5/random:40,
                 from /usr/include/c++/5/bits/stl_algo.h:66,
                 from /usr/include/c++/5/algorithm:62,
                 from prog.cpp:2:
/usr/include/c++/5/bits/basic_string.h:4997:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const std::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^
/usr/include/c++/5/bits/basic_string.h:4997:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/utility:70:0,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:222:50: note:   'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>' is not derived from 'const std::basic_string<_CharT, _Traits, _Alloc>'
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
In file included from /usr/include/c++/5/string:52:0,
                 from /usr/include/c++/5/random:40,
                 from /usr/include/c++/5/bits/stl_algo.h:66,
                 from /usr/include/c++/5/algorithm:62,
                 from prog.cpp:2:
/usr/include/c++/5/bits/basic_string.h:5009:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const _CharT*, const std::basic_string<_CharT, _Traits, _Alloc>&)
     operator<(const _CharT* __lhs,
     ^
/usr/include/c++/5/bits/basic_string.h:5009:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/utility:70:0,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:222:50: note:   mismatched types 'const _CharT*' and 'std::__detail::_Node_iterator<std::pair<const int, char>, false, false>'
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
In file included from /usr/include/c++/5/vector:64:0,
                 from /usr/include/c++/5/bits/random.h:34,
                 from /usr/include/c++/5/random:49,
                 from /usr/include/c++/5/bits/stl_algo.h:66,
                 from /usr/include/c++/5/algorithm:62,
                 from prog.cpp:2:
/usr/include/c++/5/bits/stl_vector.h:1528:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator<(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
     ^
/usr/include/c++/5/bits/stl_vector.h:1528:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/utility:70:0,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:222:50: note:   'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>' is not derived from 'const std::vector<_Tp, _Alloc>'
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
In file included from /usr/include/c++/5/tuple:39:0,
                 from prog.cpp:4:
/usr/include/c++/5/array:250:5: note: candidate: template<class _Tp, unsigned int _Nm> bool std::operator<(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)
     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
     ^
/usr/include/c++/5/array:250:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/utility:70:0,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:222:50: note:   'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>' is not derived from 'const std::array<_Tp, _Nm>'
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
In file included from prog.cpp:4:0:
/usr/include/c++/5/tuple:928:5: note: candidate: template<class ... _TElements, class ... _UElements> constexpr bool std::operator<(const std::tuple<_Elements ...>&, const std::tuple<_Elements ...>&)
     operator<(const tuple<_TElements...>& __t,
     ^
/usr/include/c++/5/tuple:928:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/utility:70:0,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:222:50: note:   'const std::__detail::_Node_iterator<std::pair<const int, char>, false, false>' is not derived from 'const std::tuple<_Elements ...>'
       || (!(__y.first < __x.first) && __x.second < __y.second); }
                                                  ^
stdout
Standard output is empty