永发信息网

vb程序出现类型不匹配:缺少数组或用户定义类型 错误,求解

答案:2  悬赏:70  手机版
解决时间 2021-02-26 09:15
  • 提问者网友:人生佛魔见
  • 2021-02-25 12:49
求高手指点下初学者啊,我想不出为何出错啊
Function max(b() As Single, r As Integer, m As Integer)
m = b(r, 1)
col = 1
For i = 2 To unound(b, 2)
If b(r, i) > m Then
m = b(r, i)
col = i
End If
Next i
max = col
End Function

Private Sub Form_Click()
Randomize
Dim a(1 To 4, 1 To 5) As Integer
Dim r As Integer
Dim mm As Integer
For i = 1 To 4
For j = 1 To 5
a(i, j) = 10 * Int(1 + Rnd * 9) + Int(Rnd * 10)
Next j
Next i
Print "所产生的数组为:"
For i = 1 To 4
For j = 1 To 5
Print a(i, j);
Next j
Print
Next i
Do
r = InputBox("请输入指定行数")
Loop Until r >= 1 And row <= 4
col = max(a(), r, mm) '是在这里 提示缺少数组或用户定义类型

Print
Print "第"; r; "行中最大元素:"; mm; "所在序列号为:"; col
End Sub
最佳答案
  • 五星知识达人网友:旧脸谱
  • 2021-02-25 14:14
Function max(b() As Single, r As Integer, m As Integer)

改成

Function max(b() As Integer, r As Integer, m As Integer)

b() As Integer这里
全部回答
  • 1楼网友:山河有幸埋战骨
  • 2021-02-25 14:33
你的数组 aa( ) 和 t() 在调用那个函数fuzzyevalution( )之前,应该用redim 来初始化,并对数组元素赋值。 比如: redim aa(3, 4), t(5) aa(0,0 ) = ...... '赋值过程你自己写 然后再: cc = fuzzyevalution(aa(m, n), t(i)) 这样,就没问题了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯