пользовательский компаратор в stl - PullRequest
0 голосов
/ 15 декабря 2010

Это сводит меня с ума в течение 3 часов. Кто-нибудь видит причину, почему это не работает?

struct sortByPropRev
{
    bool operator()(const cust_type &a, const cust_type &b) const
    {
        return a.prop > b.prop;
    }
};
...
priority_queue<cust_type, vector<cust_type>, sortByPropRev> x;

Я получаю ошибки компиляции:
Error C2664: 'bool (cust_type &,cust_type &)' : cannot convert parameter 1 from 'const cust_type' to 'cust_type &'

и еще 2 просто так, но по-разному algorithm.h

Ответы [ 2 ]

0 голосов
/ 15 декабря 2010

Неважно.Я нашел проблему.Я был в другой части кода, который вызывал те же функции алгоритма.Извините, что беспокою всех и спасибо за попытку помочь.

0 голосов
/ 15 декабря 2010

Вы дали ему b.pprop против a.prop.Я думаю, учитывая ошибку, что компилятор не смог правильно проанализировать определение структуры - проверьте синтаксические ошибки в коде чуть выше него.

...