Sub A()
Dim arr(4)
arr = Array(&H0, &H2, &H4, &H6, &H8)
Wscript.echo arr(1)
End Sub
上面的vbs函数给出了错误。但是当我删除声明时,代码工作正常。
Sub A()
arr = Array(&H0, &H2, &H4, &H6, &H8)
Wscript.echo arr(1)
End Sub
任何人都可以解释原因吗?
答案 0 :(得分:3)
Dim arr(4)
声明/ dims 和初始化5个(空)元素的固定(优化的,不可调整大小)数组。 arr = Array(...)
尝试使用动态(可重新调整大小)数组重新分配/覆盖此变量。这是不允许的。
使用Option Explicit
和
Dim arr ' just a variant; make known the name
arr = Array(...) ' replace with dynamic array