我有通过函数传递二维数组的有趣情况. 数组在表单的级别范围内声明: 我尝试从VB6重写我的代码的一部分,我有可行的例子. Dim myArray(,) As Double 然后我得到一个sub,其中数组被重新编号
数组在表单的级别范围内声明:
我尝试从VB6重写我的代码的一部分,我有可行的例子.
Dim myArray(,) As Double
然后我得到一个sub,其中数组被重新编号并根据数据填充,类似这样的符号情况:
Public Sub mySub(ByVal myArray(,) As Double) Dim temparray() As Double = {3, 5, 7, 9} For a As Double = 0 temparray.length - 1 ReDim Preserve myarray(2, temparray(a)) Next a myArray(1, 5) = 3.14 ... etc... End Sub
最后,我想填充和读取其他子数组中的数据:
mySub(myArray) Debug.Print(myArray(1, 5))
在这里我收到错误消息:
Object reference not set to an instance of an object.
mySub中的数据已正确填充但我在调用sub时看不到这些数据.
我做错了什么,如何让这个场景有效?
Public Sub mySub(ByRef myArray(,) As Double) '... End Sub
您需要引用变量才能在Sub之外进行更改.