How to push_back value to unpacked array

bit [31:0] transfers [$];
string str = "some string";
bit [31:0] transfer;
int temp;
   for (int i = 0; i <= len; i++) begin
      temp = $sscanf(str, "%h", transfer);
      if (temp <= 0) `uvm_error("ERROR:"," THE LENGHT PARAM IS WRONG- too big")
    transfers.push_back(transfer);//is it correct?
      str = str.substr(13+(i+1)*8,str.len()-1);
   end//end for

How to push_back value to unpacked array (Do I write correctly?)?

In reply to saritr:

try using
{>>{transfers}}=transfer;

In reply to swapnilsrf9:

I want to use push_back

In reply to saritr:

Yes, that is the correct way to use the push_back method of a SystemVerilog queue. Note that push/pop_front/back are methods only available on queues, which are a type of unpacked array, just to get that straight.