2
표준 라이브러리 우선 순위 큐를 사용하여 사용자 지정 클래스 Foo
의 개체를 주문하려고합니다. 그러나 요소를 비교하는 것은 unordered_map map
에 매핑되는 값에 따라 다릅니다.C++의 오버로드 된 연산자에서 로컬 변수 사용
나는 이런 식으로 뭔가를 구축하기 위해 노력하고있어 :
std::unordered_map<Foo,double> map;
struct Compare {
bool operator()(const Foo& a, const Foo& b) {
return map[a]<map[b];
}
}
std::priority_queue<Foo,std::vector<Foo>,Compare> queue;
를 보이는 그러나 나는 바깥 쪽 함수의 지역 변수를 참조 할 수 없습니다 것 같은.
이것을 달성하기위한 표준 방법은 무엇입니까?