在vbscript中声明和定义数组时出错

时间:2016-02-09 17:53:32

标签: arrays vbscript

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

任何人都可以解释原因吗?

1 个答案:

答案 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