Compilation error

`ifndef scoreboard 
`define scoreboard
import uvm_pkg::*;

`include"uvm_macros.svh"
`include "w_trans.sv"
`include"r_trans.sv"
`include"env_config.sv"



class scoreboard extends uvm_scoreboard;
`uvm_component_utils(scoreboard)

w_trans wtdata;
r_trans rtdata;

env_config ecfg;

uvm_tlm_analysis_fifo#(w_trans) fifo_wr;
uvm_tlm_analysis_fifo#(r_trans) fifo_rd;

//w_trans cov_data;


//covergroup sram_coverage;
//
//OE_N: coverpoint cov_data.oe_n{
//                                 bins HIGH={1};
//                                 bins LOW={0};
//                              }
//
//
//WE_N: coverpoint cov_data.we_n{
//
//                                 bins HIGH={1};
//                                 bins LOW={0};
//                              }
//CE_N: coverpoint cov_data.ce_n{
//
//                                   bins HIGH={1};
//                                   bins LOW={0};
//                               }
//
//LB_N:coverpoint  cov_data.lb_n{
//
//                                  bins HIGH={1};
//                                  bins LOW={0};
//                               }
//
//UB_N:coverpoint  cov_data.ub_n{
//
//                                  bins HIGH={1};
//                                  bins LOW={0};
//                              }
//
//      
//ADDR:coverpoint   cov_data.addr{
//                                    bins LOW={[0:7]};
//                                    bins HIGH={8:12]};
//                                    bins HIGHEST={13:19]};
//                                }
//
//
//DATA:coverpoint    cov_data.data_in{
//
//                                       bins LOW={[0:8]};
//                                       bins HIGH{[9:15]};
//                                   }
//
//                                    
//
//  endgroup


extern function new(string name="scoreboard",uvm_component parent);
extern function void build_phase (uvm_phase phase);
//extern task run_phase(uvm_phase phase);

//extern function void check_data(w_trans wtdata, r_trans rtdata);
endclass

//New construct
function scoreboard::new(string name="scoreboard",uvm_component parent);

super.new(name,parent);
//cov_data=new();
//sram_coverage=new;

endfunction


// Build Phase

function void scoreboard::build_phase(uvm_phase phase);
super.build_phase(phase);

if(!uvm_config_db#(env_config)::get(this,"","env_config",ecfg))
`uvm_fatal("TB_CONFIG","can not get() ecfg from uvm_config")


fifo_wr=new[ecfg.no_wr_agent];
fifo_rd=new[ecfg.no_rd_agent];


foreach(fifo_wr[i])

fifo_wr[i]=new($sformatf("fifo_wr[%0d]",i)); ////////////// ERROR ERROR ERROR 

foreach(fifo_rd[i])

fifo_rd[i]=new($sformatf("fifo_wr[%0d]",i));


endfunction


//RUN PHASE

//task scoreboard:run_phase(uvm_phase phase);
//fork
//     forever
//     begin
//                        foreach(fifo_wr[i])
//                        begin
//                               fifo_wr.get(wtdata);
//                               wtdata.print;
//                             //cov_data=wtdata;
//                             //cov_data.sample();
//                        end
//     end
//
//
//     forever
//     begin
//             fifo_rd[wtdata].get(rtdata)
//                   rtdata.print;
//                   check_data.(wtdata,rtdata);
//      end
//join
//endtask
//
//
///// CHECK TASK
//
//function void scoreboard::check_data(w_trans wtdata, r_trans rtdata);
//
//
//if(wtdata.data_out != rtdata.data_out)
//
//begin
//
//      `uvm_info("==================== DATA_OUT NOT MATCHED============","KKKKSSSS",UVM_LOW);
//       $finish
//end
//
//else
// 
//     `uvm_info("==SCOREBOARD  SUCESSFULLY_COMPARED============","KKKKSSSS",UVM_LOW);
//       $finish
//endfunction
//
`endif

//////////////////////////////////////////// ERROR////////////////////////

** Error: C:/Users/BAVITH KUMAR/Desktop/SRAM_UVM/scoreboard.sv(108): Unsupported context for “new”; cannot determine object type
** Error: C:/Users/BAVITH KUMAR/Desktop/SRAM_UVM/scoreboard.sv(175): Verilog Compiler exiting

In reply to uvm_verification:

You did not declare fifo_rd/fifo_wr as dynamic arrays. Fix that,