System verilog SystemVerilog对象创建过程

System verilog SystemVerilog对象创建过程,system-verilog,System Verilog,我尝试使用Synopsys VCS运行此代码。它在句柄声明后的对象创建中给出错误。错误如下: 错误-[SE]verilog源后面的语法错误有语法错误: “class.sv”,20:标记为“=”P=new() 将构造函数放入初始块中。感谢您的及时响应。我真的很感激。我编辑了这个问题@dave_59。请核对问题。非常感谢。输出与显示的代码不匹配。你在期待什么?你的编辑完全改变了问题的意义,因此答案不再是问题的答案,对未来的读者来说也毫无意义。因此,我将它们回滚。如果你还有其他问题,请作为另一个问题提

我尝试使用Synopsys VCS运行此代码。它在句柄声明后的对象创建中给出错误。错误如下:

错误-[SE]verilog源后面的语法错误有语法错误: “class.sv”,20:标记为“=”P=new()


将构造函数放入
初始块中。

感谢您的及时响应。我真的很感激。我编辑了这个问题@dave_59。请核对问题。非常感谢。输出与显示的代码不匹配。你在期待什么?你的编辑完全改变了问题的意义,因此答案不再是问题的答案,对未来的读者来说也毫无意义。因此,我将它们回滚。如果你还有其他问题,请作为另一个问题提问。我还删除了VCS的所有无关输出。嗨,Matthew!我所期望的只是使用类句柄创建一个对象。如果您运行上面的代码,它会给出错误,但是如果您执行父级P=new(),那么它不会给出任何错误。我想知道这背后的原因。嗨@K.piyus,然后问一个新问题,我会回答。堆栈溢出背后的想法是,您的问题和答案对未来的谷歌用户有用。这样的对话和编辑完全改变了问题的意义,对未来的谷歌用户来说是没有用的。
class parent;
int a = 10;
endclass

class child extends parent;
int b = 10;
endclass

module main;
  parent P;
  child C;

  P = new();
  C = new();

  initial begin
    $display("a=%d\n",C.a);
  end
endmodule