При нажатии на новую работу будет много копий данных. Запомни. Вы должны перегрузить оператор <для работы или меньше специализировать шаблон. </p>
Попробуйте это:
class Job
{
public:
int job_id;
string job_description;
int n_procs;
int n_ticks;
Job(int job_id, string job_description, int n_procs, int n_ticks);
Job(void);
~Job(void);
};
bool operator < (Job const& rhs, Job const& lhs)
{
return rhs.n_ticks < lhs.n_ticks;
}
typedef vector<Job> Jobs;
typedef priority_queue<Job, Jobs, less<Job>> JobQueue;
Job job(1,"job 1", 1,2);
JobQueue jobs;
jobs.push(job);
Job const& topJop = jobs.top();
//do whatever with topTob
//remove it from the queue
job.pop();