우선 순위 대기열에 쌍을 저장하려고하는데 각 쌍의 두 번째 값을 비교하는 비교 기능을 사용하고 있습니다. 나는이를 컴파일 할 때내부 우선 순위 대기열 쌍
#include<iostream>
#include<queue>
#include<utility>
using namespace std;
class CompareDist
{
public:
bool operator()(pair<int,int> n1,pair<int,int> n2) {
return n1.second>n2.second;
}
};
int main()
{
priority_queue<pair<int,int>,CompareDist> pq;
}
가 나는 이유야 될 수 무엇
error: no type named ‘value_type’ in ‘class CompareDist’
는 STL에 새로운 오전 오류를 얻을.
CompareDist
은
제 인자이어야하며 두 번째 인수는 (
value_type
있음) 용기이어야 말하면
template<
class T,
class Container = std::vector<T>,
class Compare = std::less<typename Container::value_type>
> class priority_queue;
다음과 같이 :이 같은 priority_queue 보이는 것입니다