0
Я пытаюсь создать очередь минимального приоритета типа Job
с использованием STL в C++. У меня есть следующий код:Минимальная очередь приоритетов с объектами
class Job
{
public:
int IOtime;
};
struct grThan
{
bool operator()(const Job& l, const Job& r) const
{
return l.IOtime > r.IOtime;
}
};
Я объявляя очередь std::priority_queue<Job, vector<Job>, grThan> IO;
Я получаю следующее сообщение об ошибке:
bool std::operator <(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem *)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'const Job'
Составитель хорошо MSVC2013. Вы скомпилировали gcc? С опцией C++ 11? – Christophe
Где и как на картинке появляется 'std :: string'? Он отсутствует в коде, который вы указали, но сообщение об ошибке относится к нему. Я предлагаю вам опубликовать небольшой полный пример, который воспроизводит проблему. –