Я пытаюсь хранить пары в очереди приоритетов, и я использую функцию сравнения, которая сравнивает второе значение каждой пары.
#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.