Error message : can not find the member in the class

In reply to chr_sue:

Yes, i use seq.start() in run_phase in uvm_test.Now, the task body() works.
But , the driver seems has some problems.
here is my modified driver and interface 's code. there is compiler error related to @(posedge `DRIV_IF);
I am still finding the reason

interface mem_if(input logic clk,reset);
 

  logic [1:0] addr;
  logic wr_en;
  logic rd_en;
  logic [7:0] wdata;
  logic [7:0] rdata;
 
  //---------------------------------------
  //driver clocking block
  //---------------------------------------
  clocking driver_cb @(posedge clk);
    default input #1 output #1;
    output addr;
    output wr_en;
    output rd_en;
    output wdata;
    input  rdata;  
  endclocking
 

  //---------------------------------------
  //driver modport
  //---------------------------------------
  //modport DRIVER  (clocking driver_cb,input clk,reset);


endinterface

 `define DRIV_IF pointer_to_interface.driver_cb
class mem_driver extends uvm_driver #(mem_seq_item);
   `uvm_component_utils(mem_driver);
 
 virtual mem_if pointer_to_interface;
 
 function new (string name, uvm_component parent);
      super.new(name,parent);
 
 endfunction : new
 
 virtual function void build_phase(uvm_phase phase);
    super.build_phase(phase);
 
	if(!uvm_config_db #(virtual mem_if)::get(null, "*","pointer_to_interface", pointer_to_interface))
        $fatal("Failed to get BFM");
 
 endfunction : build_phase
 
 
 task run_phase(uvm_phase phase);
 
      phase.raise_objection(this);
    forever begin
        seq_item_port.get_next_item(req);
      drive();
        seq_item_port.item_done();
    end
 
      phase.drop_objection(this);
 endtask : run_phase

  virtual task drive();
    `DRIV_IF.wr_en <= 0;
    `DRIV_IF.rd_en <= 0;
    @(posedge `DRIV_IF);
        `DRIV_IF.addr <= req.addr;
      if(req.wr_en) begin
        `DRIV_IF.wr_en <= req.wr_en;
        `DRIV_IF.wdata <= req.wdata;
      end
    @(posedge `DRIV_IF);  
      if(req.rd_en) begin
        `DRIV_IF.rd_en <= req.rd_en;
    @(posedge `DRIV_IF);
       `DRIV_IF.rd_en <= 0;
    @(posedge `DRIV_IF);
        req.rdata = `DRIV_IF.rdata;
     end  
  endtask : drive 
 endclass