猿问

为什么这段代码会发生错误呢?如下所示:

其功能:Erase语句用来重新初始化静态数组的元素,或者释放动态数组的存储空间。

Private Sub Form_Click()
Dim a() As Integer
ReDim a(5)
a(5) = 50
Print a(5)
Erase a
Dim b() As Integer
ReDim b(5)
b(5) = 100
Print a(5)
Print b(5)
End Sub

慕码人2483693
浏览 154回答 2
2回答

白衣非少年

Private Sub Form_Click()Dim a() As IntegerReDim a(5)a(5) = 50Print a(5)Erase a 这时已经删除a了,Dim b() As IntegerReDim b(5)b(5) = 100Print a(5) 这里你还用a,当然会出错Print b(5)End Sub

慕莱坞森

第二个Print a(5)出错,Erase 释放动态数组所使用的内存。在下次引用该动态数组之前,程序必须使用ReDim语句来重新定义该数组变量的维数。需在第二个Print a(5)前使用redim.
随时随地看视频慕课网APP
我要回答