Types julia中的递归类型初始化

Types julia中的递归类型初始化,types,julia,Types,Julia,我对我定义的两个结构有问题: mutable struct QMDDnode{T} next::QMDDnode{T} ref::Int v::Int renormFactor::Int ident::Bool diag::Bool block::Bool symm::Bool c01::Bool computeSpecialMatricesFlag::Bool e::Array{T} # type QMDDedge QMDDnode()=(x=n

我对我定义的两个结构有问题:

mutable struct QMDDnode{T}
  next::QMDDnode{T}
  ref::Int
  v::Int
  renormFactor::Int
  ident::Bool
  diag::Bool
  block::Bool
  symm::Bool
  c01::Bool
  computeSpecialMatricesFlag::Bool
  e::Array{T} # type QMDDedge
  QMDDnode()=(x=new();x.next=x;x.e=Array{QMDDedge,1}(4);x)
end

mutable struct QMDDedge
  p::QMDDnode{QMDDedge}
  w::Complex
  sentinel::Int
  QMDDedge()=(x=new();x.p=QMDDnode{QMDDedge}();x)
end
我试图理解如何正确初始化它们,编写正确的构造函数。 如果我打电话

b = QMDDedge()
我有一个定义很好的对象“b”,但是数组e[]的元素是#未定义的

有没有合适的方法来初始化它们

谢谢,
Fausto

请参见文档中的内容。(可能就是您要查找的内容)

谢谢您的提示,它非常有用!