怎样在函数中调用多个数组
Option Base 1
Dim ax(), bx() As Double
Dim n As Integer
Private Sub Command1_Click()
cl n, ax(), bx()
End Sub
Private 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
Public Function cl(n As Integer, ax() As Double, bx() As Double)
For i = 1 To n
Me.List1.AddItem ax(i) + bx(i)
Next
End Function
运行时怎么提示 "类型不匹配,缺少数组或用户类型",错误落在函数的ax() 上
只用一个数组的时候不出现问题,是怎么回事?
问题点数:20、回复次数:7Top
1 楼pcwak()回复于 2005-03-03 12:54:59 得分 5
改一下
Dim ax() As Double, bx() As Double
Top
2 楼huangjianyou(小健)回复于 2005-03-03 12:58:11 得分 5
Option Base 1
Dim ax(), bx() As Double
Dim n As Integer
Private Sub Command1_Click()
Dim i As Integer
For i = 1 To n
List1.AddItem ax(i) + bx(i)
Next
End Sub
Private 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
公共的不用传了。测试成功。
^_^Top
3 楼ayu2000(ayu2000)回复于 2005-03-03 13:15:00 得分 0
呵呵,行了.为什么一块定义就不行呢?Top
4 楼SupermanKing(人类)回复于 2005-03-03 13:19:46 得分 5
回答你的错误问题:可能是函数里的 i 变量没有定义类型,这样 i 变量就是变体类型。
而 ax(i) 这样使用,数组参数不能使用变体类型,所以出错了。Top
5 楼ayu2000(ayu2000)回复于 2005-03-03 13:32:11 得分 0
提示错误的时候,还没有进入循环体,在调用函数参数那出的错Top
6 楼pcwak()回复于 2005-03-03 14:04:58 得分 5
Dim ax(), bx() As Double
上面的定义ax()为Variant类型,所以会出现“类型不匹配,缺少数组或用户类型”
Top
7 楼ayu2000(ayu2000)回复于 2005-03-03 15:34:30 得分 0
呵呵,大家都有份
谢谢大家了Top




