注册 登录
编程论坛 VB6论坛

新手求助,程序出现 byref 参数类型问题

liu141231893 发布于 2014-10-29 10:40, 532 次点击
Private Sub Form_click()
Dim a As String
Dim i As Integer
Dim kk As Integer
Dim j As Double
Dim he!
Dim v1!, v2!, v3!
Dim z!(), v!()
For i = 2 To sum1 - 1 Step 1
For j = 160 To minlever Step -buchang
kk = (160 - j) / buchang
Debug.Print i
v1 = cha(z(), v(), ht(i - 1))
v2 = cha(z(), v(), j)
v3 = cha(z(), v(), ht(i + 1))
模块程序如下
Function cha!(x!, y!, a#)
Dim zhi As String
n = UBound(x)
If x(1) >= a Then
zhi = y(1)
ElseIf x(n) < a Then
zhi = y(n)
Else

For i = 1 To n
If x(i) > a Or x(i) = a Then
ml = i
Exit For
End If
Next i
zhi = y(ml - 1) + (y(ml) - y(ml - 1)) * (a - x(ml - 1)) / (x(ml) - x(ml - 1))
End If
cha = zhi
End Function
由于程序太多行就截取了部分程序,运行显示函数cha(z(), v(), ht(i - 1))中出现了byref参数不符的错误,求助大神解答啊,新手感觉没定义错误啊
只有本站会员才能查看附件,请 登录
4 回复
#2
liu1412318932014-10-29 10:49
完整程序在附件里,求大神指教啊~
#3
liu1412318932014-10-29 10:57
ht()在程序中是定义过的~没打上
#4
风吹过b2014-10-29 11:33
v1 = cha(z(), v(), ht(i - 1))

Function cha!(x!, y!, a#)

你这里出的问题。定义与调用不相符。
定义里是单个变量 x ,y
而你调用里是  z(),V()  ,传递的是数组。

根据你 函数里使用的类型修改定义或调用吧。
附件我没看,只看了你贴出来的部分。
#5
liu1412318932014-10-29 11:41
回复 4 楼 风吹过 b
谢谢大神~~~
1