1

私が作成した 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;
4

2 に答える 2