当前位置:编程学习 > VB >>

关于动态二维数组

Dim b() As Integer

ReDim b(5, 5)

书上是这样定义的,可是我的VB6.0里b还是被识别成1维的,
如果做b(0,1)=1 这样的赋值就会提示错误,不知道为什么,
应该怎样动态定义二维数组???
--------------------编程问答-------------------- 检查模块都是否用了 Option Base 1,那样默认数组的索引下界为 1,用 b(0,1)当然错误。 --------------------编程问答-------------------- 不是这个问题,下面这样也是同样的错误提示

Dim b() As Integer

ReDim b(5, 5)

b(1)(1) = 1    '此行报错:type mismatch --------------------编程问答--------------------
Option Explicit

Sub Main()
    Dim b() As Integer
    ReDim b(5, 5)
    b(1, 1) = 1
End Sub
--------------------编程问答-------------------- VB只能动态最后一个下标,不能2个都在动态。 --------------------编程问答-------------------- ReDim這句用在那里?它只能用在過程級別中的.
--------------------编程问答-------------------- VB只能动态最后一个下标,不能2个都在动态。
----------------------------------

Redim最多可以定义 60 维的多维数组

不知道楼主的代码提示什么样的问题?
--------------------编程问答-------------------- 只要没用preserve 是可以改变维数的 --------------------编程问答--------------------
Option Explicit

Private Sub Command1_Click()
Dim a() As Long
ReDim a(3, 3)
a(1, 1) = 123
Print a(1, 1)
ReDim Preserve a(3, 5)
Print a(1, 1)
End Sub

'输出
123
123
--------------------编程问答-------------------- b(1)(1) = 1     '此行报错

晕倒,不错就没天理了.楼主难道从来没有看过任何一本关于VB的书么?
VB中多维数组的下标元素是放在一个括号中用逗号隔开的.
你要是写成b[1][1]=1我倒还能理解成你以前是用C的. --------------------编程问答-------------------- 恩,正好想起来个笑话,说是某个小镇的记者发表了篇报导,涉及到某位女士的身体,主编让他改.
于是他最终的稿子是:
X月X日,XX女士在XX路口不幸遭遇车祸,送医院急救,经检查只是(.)(.)受伤,幸无生命危险云云 --------------------编程问答-------------------- 一口锅里炒豆子,往地上一倒,红豆和绿豆就自动分开了,为什么?因为锅里就2豆! --------------------编程问答-------------------- 哈哈... --------------------编程问答-------------------- Option Explicit Private Sub Command1_Click() Dim a() As Long ReDim a(3, 3) a(1, 1) = 123 Print a(1, 1) ReDim Preserve a(3, 5) Print a(1, 1) End Sub --------------------编程问答-------------------- b(1)(1) = 1      '此行报错 
b(1,1)=1 --------------------编程问答-------------------- Option Explicit
Dim i As Integer
Dim j As Integer
Dim b() As Integer

Private Sub Command1_Click()
ReDim b(5, 5)
For i = 0 To 5
    For j = 0 To 5
        b(i, j) = (i + 1) * j
        Print b(i, j)
    Next
Next
End Sub
从上述代码看,没有问题。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,