bool operator <(const word &a)를
bool operator <(const word &a) const로 바꿔보세요.
참고로 알고 계신건지도 모르겠지만
구조체안에 정적배열인 s가 들어있으면 정렬이 되지 않습니다.
C / C++ 에서는 구조체의 대입시 배열까지 전부 대입해주지 않기 때문입니다.
다만 예외적으로 char형의 배열은 대입을 지원해주긴 합니다.
가능하면 char형 배열을 string으로, 다른 정적배열은 vector로 바꾸는 것을 추천합니다.
tofhddl9 7년 전
컴파일에러 내용은 다음과 같구요...
required from ‘_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<word*, std::vector<word> >]’
! required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<word*, std::vector<word> >; _Size = int]’
! required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<word*, std::vector<word> >]’
!error: passing ‘const word’ as ‘this’ argument of ‘bool word::operator<(const word&)’ discards qualifier
32번째 줄인 sort부분에서 에러가 나는데 비교연산을 잘못한건지.. 이유를 잘 모르겠어서 질문드립니다~