私が作成した Event というクラスのプライオリティ キューを設定しようとしています。これを試す前の 2 行では、他に 2 つの優先キューが設定されていて、正常に動作しているように見えますが、3 番目のキューでエラーが発生します。助言がありますか?
class Event{
enum eventType { Arrival, CPUburstCompletion, IOcompletion, TimerExpired };
double time; // Defined as time units since the start of the simulation
};
vector<process> processTable;
int CPU;
int IO;
priority_queue< int, vector<int> > readyQueue;
priority_queue< int, vector<int> > IO_Queue;
priority_queue< Event, vector<Event> > eventQueue;
Event クラスにコンパレータ関数がありませんでした。これを入れましたが、まだエラーが発生しています。コンパレータを正しく記述していませんか?
class Event{
enum eventType { Arrival, CPUburstCompletion, IOcompletion, TimerExpired };
double time; // Defined as time units since the start of the simulation
bool operator()(Event& e1, Event& e2){
if (e1.time < e2.time){
return true;
}
else{
return false;
}
}
};
vector<process> processTable;
int CPU;
int IO;
priority_queue< int, vector<int> > readyQueue;
priority_queue< int, vector<int> > IO_Queue;
priority_queue< Event, vector<Event> > eventQueue;