注册 登录
编程论坛 VB6论坛

byref 参数类型不符.请指点

talleryiya 发布于 2014-05-10 21:10, 749 次点击
VB程序总是提示说byref 参数类型不符。什么原因啊,谢谢指点。
Public Function sqrt(a As Single) As Double
sqrt = Sqr(a)
End Function
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer, D As Integer
Dim X As Single, X1 As Single, X2 As Single
a = Val(InputBox("请输入a的值!"))
b = Val(InputBox("请输入b的值!"))
c = Val(InputBox("请输入c的值!"))
D = b * b - 4 * a * c
If D < 0 Then
Print "此方程无解!"
Else
If D = 0 Then
X = -b / (2 * a)
Print "此方程有相等的实数解,解为" & Str(X)
Else
X1 = (-b + sqrt(D)) / (2 * a)
X2 = (-b - sqrt(D)) / (2 * a)
Print "此方程有不同的实数解,解为" & "X1=" & X1&; "X2=" & X2



End Sub
5 回复
#2
talleryiya2014-05-10 21:20
我刚发现这个代码里掉了两个END IF ,可是加上去了还是不行。同样的错误提示。在线等!谢谢!
#3
bczgvip2014-05-10 21:29
sqrt(byval a As Single) As Double
#4
talleryiya2014-05-10 21:31
当不用变量D,直接把B的平方减4AC代到X1X2值里面去后,就一切正常了。这是为什么呢?请教各位大侠
#5
talleryiya2014-05-10 21:40
楼上你好喔,这句是为了用SQRT函数的,这个定义是什么意思呢,呵呵,我也不明白
#6
lowxiong2014-05-11 01:14
'红色部分为修改部分
Public Function sqrt(a As Single) As Double
sqrt = Sqr(a)
End Function
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer, D As Single
Dim X As Single, X1 As Single, X2 As Single
a = Val(InputBox("请输入a的值!"))
b = Val(InputBox("请输入b的值!"))
c = Val(InputBox("请输入c的值!"))
D = b * b - 4 * a * c
If D < 0 Then
  Print "此方程无解!"
Else
  If D = 0 Then
    X = -b / (2 * a)
    Print "此方程有相等的实数解,解为" & Str(X)
  Else
    X1 = (-b + sqrt(D)) / (2 * a)
    X2 = (-b - sqrt(D)) / (2 * a)
    Print "此方程有不同的实数解,解为" & "X1=" & X1; "X2=" & X2
  End If
End If

End Sub
1