Problem with queue

In reply to peter:

Here’s an example which pushes elements in 2D queue first then pops values back


int q[$][$] ;
int val ;

initial begin

 for ( int i = 0 ; i < 2 ; i ++ ) 
 begin
   for ( int j = 0 ; j < 2 ; j ++ ) 
    begin
      q[i].push_back(i+j*10); // Pushes elements in 2D queue . 
      $display("q[%0d] is %0p",i,q[i]);
    end
 end

 for ( int i = 0 ; i < 2 ; i ++ ) 
 begin
   for ( int j = 0 ; j < 2 ; j ++ ) 
    begin
      val = q[i].pop_back();
      $display("val is %0d",val);
    end
 end

 end 

 // Note that ::  q[i][j].push_back( .. ) would be Error as q[i][j] is leaf element ( packed element )  !!