Option Base 1
Dim ax(), bx() As Double
Dim n As IntegerPrivate Sub Command1_Click()
   cl n, ax(), bx()
End SubPrivate Sub Form_Load()
n = 5
ReDim bx(n)
bx(1) = 1
bx(2) = 2
bx(3) = 3
bx(4) = 4
bx(5) = 5
ReDim ax(n)
ax(1) = 1
ax(2) = 2
ax(3) = 3
ax(4) = 4
ax(5) = 5End Sub
Public Function cl(n As Integer, ax() As Double, bx() As Double)
  For i = 1 To n
  Me.List1.AddItem ax(i) + bx(i)
  NextEnd Function运行时怎么提示 "类型不匹配,缺少数组或用户类型",错误落在函数的ax() 上
只用一个数组的时候不出现问题,是怎么回事?

解决方案 »

  1.   

    改一下
    Dim ax() As Double, bx() As Double
      

  2.   

    Option Base 1
    Dim ax(), bx() As Double
    Dim n As IntegerPrivate Sub Command1_Click()
        Dim i As Integer
        For i = 1 To n
              List1.AddItem ax(i) + bx(i)
        Next
    End SubPrivate Sub Form_Load()
        n = 5
        ReDim bx(n)
        bx(1) = 1
        bx(2) = 2
        bx(3) = 3
        bx(4) = 4
        bx(5) = 5
        ReDim ax(n)
        ax(1) = 1
        ax(2) = 2
        ax(3) = 3
        ax(4) = 4
        ax(5) = 5
    End Sub公共的不用传了。测试成功。^_^
      

  3.   

    回答你的错误问题:可能是函数里的 i 变量没有定义类型,这样 i 变量就是变体类型。
                     而 ax(i) 这样使用,数组参数不能使用变体类型,所以出错了。
      

  4.   

    Dim ax(), bx() As Double
    上面的定义ax()为Variant类型,所以会出现“类型不匹配,缺少数组或用户类型”