2

vbaを使用して深さ優先探索アルゴリズムを実行しようとしているので、「parentNode」を含む「node」というオブジェクトを定義しました。

parentNodeをコレクションとして定義し、次を使用しようとしました

Public Property Let Parent(ByRef inputNode As Node)
    Set parentNode = New Collection
    hasParentNode = True
    parentNode.Add inputNode

End Property

Public Property Get Parent() As Node
    Parent = parentNode.Item(1)
End Property

しかし、node.Parentを呼び出すと、Object variable or With block variable not set

これは「Parent=parentNode.Item(1)」という行が原因であることがわかっています。これを行う適切な方法は何でしょうか。Refによって割り当てられたparnetNodeを返したい

ありがとう

4

1 に答える 1

3

Node はオブジェクトであるため (Node実際のクラスはわかりません)、コードにはSet次のキーワードがありません。

Public Property Get Parent() As Node
  Set Parent = parentNode.Item(1) 
End Property

取得Object variable or With block variable not set いつものSetキーワードの欠落を意味する場合があります。

于 2012-07-17T14:16:02.090 に答える