c++ - inserting vector element in queue -


#include <iostream> #include <queue> #include <string> #include <vector> #include <fstream> using namespace std;  int main() {     struct process     {         int burst;         int ar;     };     int x = 4;     int arival[x];     int burst[x];     ifstream arrival, burrst;     arrival.open("arrival.txt");     burrst.open("burrst.txt");     (int = 0; i<x; i++)     {         arrival >> arival[i];         burrst >> burst[i];      }     arrival.close();     burrst.close();       vector<process> a[x];      (int = 0; i<x; i++)     {         a[i].push_back({ burst[i], arival[i] });      }     cout << "process\t" << "arrival time\t" << "burst time\n";     (int = 0; i<x; i++)     {         char k = 'a';         cout << k << "\t" << a[i].back().burst << "\t" << a[i].back().ar << endl;     }     queue<process> wait, ready; /* declare queue */     wait.push(a[1]);     return 0; } 

the compiler not allowing me push vector value queue when try insert a[1] in wait queue this:

wait.push(a[1]); 

i following error

invalid arguments

please have , me remove error.

i think looking vector of process, not array of vector of process

instead of:

vector<process> a[x]; 

use:

vector<process> a; 

and then, in loop, use:

// a[i].push_back({ burst[i], arival[i] }); //  ^^^ drop this.  a.push_back({ burst[i], arival[i] }); 

Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -