Error message : can not find the member in the class

In reply to chr_sue:

In reply to peter:
Are you sure

seq_item_port.get_next_item(req);

is completing, i.e. get a req?
Could you please show your sequence code?
BTW the connection to the virtual interface should be made in the connect_phase.

Hi chr_sue. why virtual interface should be made in the connect_phase? thanks!
here is sequence code

 
class mem_sequence extends uvm_sequence#(mem_seq_item);
 
  `uvm_object_utils(mem_sequence )
  //`uvm_sequence_utils(mem_sequence,mem_sequencer)
 
  //Constructor
  function new(string name = "mem_sequence");
    super.new(name);
  endfunction
 

 
  virtual task body();
 
   req = mem_seq_item::type_id::create("req");
   // wait_for_grant();
    req.randomize();
    send_request(req);
  //  wait_for_item_done();
 
  endtask
 
endclass