Structure calculate
Dim shaftname As String
Dim shaftlength As Single
Dim shaftoutdiam As Single
Dim shaftindiam As Single
Dim shaftouter(,) As Single
End Structure
其中用红色字体标出来的是我想要定义的一个数组,这个数组是一个二维的,数组两个维度的大小是在后续计算中获得的。比如,知道了这个数组大小为3*5的。
原来在结构体中定义时是只定义了二维的,那么接下来我如何把这个数组的大小赋给这个数组?
补充说明:因为这个数组的大小是由一个表格的值决定的,我的主要目标是把表格中的数存储在这个数组里,存储的方法是遍历复制,存储复制的代码如下:
For i = 0 To 2
For j = 0 To DataGridView.ColumnCount - 1
calculate.shaftouter(i, j) = DataGridView.Rows(i).Cells(j).Value
Next
Next
我在这样赋值时出错说是数组的大小没有定义。因此才问上述问题中如何将数组的尺寸赋予之前在结构体中建立的数组。
5 个解决方案
#1
Dim c As New calculate
ReDim c.shaftouter(3, 4)
ReDim c.shaftouter(3, 4)
#2
我试了一下是可以的,麻烦再问一下这个为什么还要redim一下,因为之前没用过redim这个功能
#3
Dim = 定义
ReDim = re定义
英语大字典 Re 就是 重新的意思 例如 ReBUild
嘿嘿
ReDim = re定义
英语大字典 Re 就是 重新的意思 例如 ReBUild
嘿嘿
#4
这个重定义是会和先前的定义冲突么,这两个以谁为准?
#5
dim 为定义一个变量
redim为重新定义这个变量,redim一般用于对数组的重新定义。重新定义后会丢失所有数据
ReDim 语句 在过程级中声明动态数组变量并分配或重新分配存储空间。
redim为重新定义这个变量,redim一般用于对数组的重新定义。重新定义后会丢失所有数据
ReDim 语句 在过程级中声明动态数组变量并分配或重新分配存储空间。
#1
Dim c As New calculate
ReDim c.shaftouter(3, 4)
ReDim c.shaftouter(3, 4)
#2
我试了一下是可以的,麻烦再问一下这个为什么还要redim一下,因为之前没用过redim这个功能
#3
Dim = 定义
ReDim = re定义
英语大字典 Re 就是 重新的意思 例如 ReBUild
嘿嘿
ReDim = re定义
英语大字典 Re 就是 重新的意思 例如 ReBUild
嘿嘿
#4
这个重定义是会和先前的定义冲突么,这两个以谁为准?
#5
dim 为定义一个变量
redim为重新定义这个变量,redim一般用于对数组的重新定义。重新定义后会丢失所有数据
ReDim 语句 在过程级中声明动态数组变量并分配或重新分配存储空间。
redim为重新定义这个变量,redim一般用于对数组的重新定义。重新定义后会丢失所有数据
ReDim 语句 在过程级中声明动态数组变量并分配或重新分配存储空间。