c++ - vector of vectors push_back -


i'm designing multilevel queue process simulator in c++ i've got problem when trying implement several queues (my queues vectors).so, "multilevel" 4 elements array (not vector). inside each of elements there vector (type t_pcb).

vector<vector<t_pcb>> multilevel[4]; 

my question is: how can insert element @ end of 1 these 4 t_pcb vectors? thank in advance.

i've tried code line below doesn't work (error: not matching member function call 'push_back')

multilevel[0].push_back(p); //where "p" t_pcb object 

the line above can not used when talking "multilevel" because array accepts arguments type: vector < t_pcb >

so, ask @ beginning: how can push object type "t_pcb" inside "multilevel"?

by doing this:

vector<vector<t_pcb> > multilevel[4]; 

you declare array of 4 zero-sized vectors, each of can contain objects of type vector<t_pcb>. wanted rather:

vector<vector<t_pcb> > multilevel(4); //                               ^^^ 

this instantiate vector of 4 default-initialized objects of type vector<t_pcb>. then, can do:

multilevel[size].push_back(p); 

notice, though, vector indices (like array indices) zero-based, size must less size of vector.

in above expression, sub-expression multilevel[size] returns reference size-th vector inside multilevel, , on vector invoking member function push_back(p), appends element p it.


Comments

Popular posts from this blog

monitor web browser programmatically in Android? -

Shrink a YouTube video to responsive width -

wpf - PdfWriter.GetInstance throws System.NullReferenceException -