System verilog 在system verilog中循环对象多维数组元素的标准方法是什么?

System verilog 在system verilog中循环对象多维数组元素的标准方法是什么?,system-verilog,System Verilog,a是一个类,b是类a中一个单独类e的对象,c是通过b访问的类e的成员,d是分配给c中存在的值的变量 第一行本身有语法错误。在多维数组b的元素上循环的正确方法是什么 提前谢谢 根据IEEE 1800-2017 LRM第12.7.3节,在多维阵列上循环的适当语法为: foreach(a.b[i]) begin foreach(a.b[i][j]) begin foreach (a.b[i][j].c[k]) begin d = a.b[i][j].c[k

a是一个类,b是类a中一个单独类e的对象,c是通过b访问的类e的成员,d是分配给c中存在的值的变量

第一行本身有语法错误。在多维数组b的元素上循环的正确方法是什么


提前谢谢

根据IEEE 1800-2017 LRM第12.7.3节,在多维阵列上循环的适当语法为:

foreach(a.b[i]) begin
    foreach(a.b[i][j]) begin   
       foreach (a.b[i][j].c[k]) begin  
       d = a.b[i][j].c[k];  
end 
  end  
    end   

欢迎来到堆栈溢出。如果a确实是一个类,那么第一行给出语法错误就不足为奇了。我的大脑太虚弱或懒散了,无法理解你对哪个字母是哪个字母的描述。请你创建一个?如甲级;e b;endclass。。。
foreach(a.b[i, j]) begin
  foreach (a.b[i][j].c[k]) begin
    d = a.b[i][j].c[k];
  end
end