/in/foo.cc:7:20: error: 'studebt' has not been declared
7 | bool cmp(student x,studebt y){
| ^~~~~~~
/in/foo.cc: In function 'bool cmp(student, int)':
/in/foo.cc:8:19: error: 'b' was not declared in this scope
8 | if(x.b==y[b]) return x.c>y.c;
| ^
/in/foo.cc:8:36: error: request for member 'c' in 'y', which is of non-class type 'int'
8 | if(x.b==y[b]) return x.c>y.c;
| ^
/in/foo.cc:9:22: error: request for member 'b' in 'y', which is of non-class type 'int'
9 | return x.b>y.b;
| ^
In file included from /usr/include/c++/12/bits/stl_algobase.h:71,
from /usr/include/c++/12/string:50,
from /usr/include/c++/12/bits/locale_classes.h:40,
from /usr/include/c++/12/bits/ios_base.h:41,
from /usr/include/c++/12/ios:42,
from /usr/include/c++/12/istream:38,
from /usr/include/c++/12/sstream:38,
from /usr/include/c++/12/complex:45,
from /usr/include/c++/12/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/12/bits/stdc++.h:54,
from /in/foo.cc:1:
/usr/include/c++/12/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = student*; _Iterator2 = student*; _Compare = bool (*)(student, int)]':
/usr/include/c++/12/bits/stl_algo.h:1809:14: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = student*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:1849:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = student*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:1940:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = student*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:4853:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = student*; _Compare = bool (*)(student, int)]'
/in/foo.cc:14:6: required from here
/usr/include/c++/12/bits/predefined_ops.h:158:30: error: cannot convert 'student' to 'int' in argument passing
158 | { return bool(_M_comp(*__it1, *__it2)); }
| ~~~~~~~^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Val_comp_iter<_Compare>::operator()(_Value&, _Iterator) [with _Value = student; _Iterator = student*; _Compare = bool (*)(student, int)]':
/usr/include/c++/12/bits/stl_algo.h:1789:20: required from 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = student*; _Compare = __gnu_cxx::__ops::_Val_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:1817:36: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = student*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:1849:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = student*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:1940:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = student*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:4853:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = student*; _Compare = bool (*)(student, int)]'
/in/foo.cc:14:6: required from here
/usr/include/c++/12/bits/predefined_ops.h:240:30: error: cannot convert 'student' to 'int' in argument passing
240 | { return bool(_M_comp(__val, *__it)); }
| ~~~~~~~^~~~~~~~~~~~~~
/usr/include/c++/12/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = student*; _Value = student; _Compare = bool (*)(student, int)]':
/usr/include/c++/12/bits/stl_heap.h:140:48: required from 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = student*; _Distance = long int; _Tp = student; _Compare = __gnu_cxx::__ops::_Iter_comp_val<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_heap.h:247:23: required from 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = student*; _Distance = long int; _Tp = student; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_heap.h:356:22: required from 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = student*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:1629:23: required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = student*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:1900:25: required from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = student*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:1916:27: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = student*; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:1937:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = student*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(student, int)>]'
/usr/include/c++/12/bits/stl_algo.h:4853:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = student*; _Compare = bool (*)(student, int)]'
/in/foo.cc:14:6: required from here
/usr/include/c++/12/bits/predefined_ops.h:196:30: error: cannot convert 'student' to 'int' in argument passing
196 | { return bool(_M_comp(*__it, __val)); }
| ~~~~~~~^~~~~~~~~~~~~~