연산자 오버로딩이 없으면 위와 같은 에러가 난다.
priority를 정해줄 수 없어서 그런 것 같다.
`operator<`를 오버로딩해주고 해결했다.
#코드
struct node {
int n;
int m;
int cost;
};
//overloading 꼭 해야함
//내림차순으로 리턴
bool operator<(node a, node b) {
return a.cost > b.cost;
}
//board[n][m]으로 가기 위한 최소비용 리턴
int bfs(int n, int m){
//{비용, [세로좌표, 가로좌표]}
priority_queue<node> q;
struct node start = {1,1,0};
q.push(start);
'Study > C,C++' 카테고리의 다른 글
C++ 반복문을 이용해서 코드 줄이기 (0) | 2020.09.11 |
---|---|
memset으로 bool값을 true로 설정해도 될까? (0) | 2020.05.04 |
C++ filesystem:: C++에서 파일디렉토리/파일 시스템 읽어오기 (0) | 2019.10.18 |
헤더파일에 using namespace를 하지 말아야 하는 이유 (0) | 2019.10.18 |
[Error]undefined reference to ~ 해결법 (0) | 2019.10.07 |