#include <iostream>
#include <queue>
using namespace std;
class Osoba
{
public:
Osoba(int w) : wiek(w){}
int wiek;
};
class PorownajOsoby
{
public:
bool operator()(const Osoba & osoba1, const Osoba & osoba2)
{
if (osoba1.wiek > osoba2.wiek)
return true;
else
return false;
}
};
int main()
{
priority_queue < Osoba*, vector < Osoba* >, PorownajOsoby > kolejkaPriorytetowa;
for (int i = 0; i < 20; i++)
kolejkaPriorytetowa.push(new Osoba(rand()%100));
system("pause");
return 0;
}
Dlaczego mi tu nie działa kolejka priorytetowa? Wszystko robię tak jak na cp0x - http://cpp0x.pl/kursy/Kurs-STL-C++/Adapter-kolejki-priorytetowej-std-priority_queue/118
Wywala mi błąd: Severity Code Description Project File Line Suppression State
Error C2664 'bool PorownajOsoby::operator ()(const Osoba &,const Osoba &)': cannot convert argument 1 from 'Osoba *' to 'const Osoba &' Kolejka priorytetowa c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility 735