我希望使用vba进行深度优先搜索算法,所以我定义了一个名为“node”的对象,它应该包含一个“parentNode”。
我尝试将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由于
答案 0 :(得分: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
个关键字。