当前位置:首页 科普知识 下标越界

下标越界

发布时间:2023-09-17 01:57:09

只能在定义的范围内访问数组元素和集合成员。此错误有以下的原因和解决方法。

下标越界简介

只能在定义的范围内访问数组元素和集合成员。此错误有以下的原因和解决方法。

下标越界

下标越界越界

VB中的数组越界

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

下标可能比下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用 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 键。

C++中的下标越界

试图访问数组中不存在的元素,使用标准库vector模板和string类的at函数可以提供下标检查,如果越界则抛出异常.

静态数组动态数组都可能造成越界.

如:

下标越界

int A;

cout<<A;//A不存在

cout<<A;//A也不存在,C++中,数组下标的最大值比数组大小小1.int *B;

B=new int;//如果new操作失败,或者没有这一句,对B数组的访问都会失败.平台不同,造成的后果不一定相同.

温馨提示:
本文【下标越界】由作者 百科科普 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6