在同一个文件中有好多的类,如果两个类之间都需要另一个类的句柄。,当编译器在处理第一类声明的过程中,编译器遇到对第二个类C2的句柄声明,此时对第二个类的引用还未定义,编译器这时会一个未定义的错误。如下所示:
这时我们就可以使用typedef class的方式,将第二个类提前声明。此外,诸如 sequencer 中我们一般不做特别的处理,所以我们可以使用如下的方式,可以避免去再写一个sequencer 的类。
typedef uvm_sequencer#(my_transaction) my_sqr;