【问题标题】:Error when declaring and defining arrays in vbscript在 vbscript 中声明和定义数组时出错
【发布时间】:2016-02-10 10:32:59
【问题描述】:
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

谁能解释一下原因?

【问题讨论】:

  • 这是程序员遇到的经典问题。 @Ekkehard.Horner 下面的解决方案是我推荐的。始终使用 OPTION EXPLICIT 来强制执行良好的编程习惯。

标签: arrays vbscript


【解决方案1】:

Dim arr(4) 声明/调暗 初始化一个由 5 个(空)元素组成的固定(优化的、不可调整大小的)数组。 arr = Array(...) 尝试使用 dynamic(可调整大小的)数组重新分配/覆盖此变量。这是不允许的。

使用Option Explicit

Dim arr ' just a variant; make known the name
arr = Array(...) ' replace with dynamic array

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多