ペアをプライオリティ キューに格納しようとしており、各ペアの 2 番目の値を比較する比較関数を使用しています。
#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を初めて使用します。