什么是下标越界?

8小时前 (03:38:30)阅读1回复0
xxhh
xxhh
  • 管理员
  • 注册排名4
  • 经验值113760
  • 级别管理员
  • 主题22752
  • 回复0
楼主

  下标越界

只能在定义的范畴内拜候数组元素和聚集成员。此错误有以下的原因息争决办法:

引用了不存在的数组元素。

下标比可能下标范畴大或小,或是在利用法式中那一边的数组没有指定范畴。查抄数组的声明以确认其上界和下界。若利用的是从头指定范畴的数组,应利用 UBound 和 LBound 函数来决定命组拜候。

  假设索引指定为变量,应查抄变量名的拼写。

声明数组时没有指定元素的数目。例如,下列的代码就会招致此错误:

Dim MyArray() As Integer

MyArray(8) = 234 ' 招致错误 9。

Visual Basic 其实不会将没有指定范畴的数组主动设为 0 – 10。

  相反必需利用 Dim 或 ReDim 来指定命组中元素的数目。

引用了不存在的聚集成员。

试着利用 For Each。。。Next 构造取代指定元素下标。

利用速写形式的下标,成果指定了错误的元素。

例如,当在聚集上利用 ! 运算子时,! 主动指定了一个键。

  例如 object!keyname。value 和 object。item(keyname)。value 是一样的。在此例中,聚集中假设 keyname 表达一个错误键,错误就会产生。若要改进此错误,在聚集对象中利用准确的键名称或索引。

详尽信息,可拔取有问题的项目,并按下 F1 键。

好比你定义b[100],假设在法式中呈现了b[101],就越界了

0
回帖

什么是下标越界? 期待您的回复!

取消