suu3
공부한 내용을 기록합니다.
suu3
  • 분류 전체보기
    • 에러 처리

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

태그

  • spread 문법
  • Do it! 타입스크립트 프로그래밍
  • inline-grid
  • REACT
  • numble
  • CSS
  • Python
  • rest 문법
  • scroll-timeline
  • JavaScript

최근 글

티스토리

hELLO · Designed By 정상우.
suu3
에러 처리

[C++] Invalid Comparator

에러 처리

[C++] Invalid Comparator

2022. 1. 11. 01:06
728x90

 

오랜만에 C++ 를 쓰면서 우선순위 큐에 쓸 compare 구조체를 작성하는데

이렇게 하는거였나? 하면서 짰더니 정말 터무니없는 코드를 짜고 말았다. 🤔

 

Clion에서 실행하면 invalid comparator 에러가 뜨고 온라인 디버거로 실행하면 제대로 출력되니 답답한 상황이었는데

결론부터 말하자면 이렇다.

 

(X)

struct cmp {
    bool operator()(order a, order b) {
        if(a.price > b.price)
            return true;
        return a.name > b.name;
    }
};

 

(O)

struct cmp {
    bool operator()(order a, order b) {
        if(a.price != b.price)
            return a.price > b.price;
        return a.name > b.name;
    }
};

return에서 true와 false가 갈라지도록 코드를 짜줘야한다.

아마 온라인 디버거는 strict weak ordering을 그냥 넘어가주는(?) 것 같다.

 

 

'에러 처리' 카테고리의 다른 글

(Window) VCS CommandNotFoundException  (0) 2022.03.25
(window)반응형 구현 시 인터넷 창의 즉각적인 변화를 확인하고 싶을 때  (0) 2022.03.08
[Django] django.db.migrations.exceptions.CircularDependencyError  (0) 2022.02.11
    '에러 처리' 카테고리의 다른 글
    • (Window) VCS CommandNotFoundException
    • (window)반응형 구현 시 인터넷 창의 즉각적인 변화를 확인하고 싶을 때
    • [Django] django.db.migrations.exceptions.CircularDependencyError
    suu3
    suu3

    티스토리툴바

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.