VB中编译错误,类型不匹配:缺少数组或用户定义类型
DimAA()AsDouble'二维数组,RRAsInteger,t()AsDoubleDimCC()AsDoubleCC=FuzzyEvalution(AA(m,n),...
Dim AA() As Double '二维数组, RR As Integer, t() As Double Dim CC() As Double
CC = FuzzyEvalution(AA(m, n), t(i)) ’这句显示编译错误,类型不匹配,缺少数组或者用户定义类型
’下面这个是FuzzyEvalution的定义
Private Function FuzzyEvalution(a() As Double, b() As Double) As Double()
End Function 展开
CC = FuzzyEvalution(AA(m, n), t(i)) ’这句显示编译错误,类型不匹配,缺少数组或者用户定义类型
’下面这个是FuzzyEvalution的定义
Private Function FuzzyEvalution(a() As Double, b() As Double) As Double()
End Function 展开
2个回答
展开全部
你的数组 AA( ) 和 t()
在调用那个函数FuzzyEvalution( )之前,应该用Redim 来初始化,并对数组元素赋值。
比如:
redim AA(3, 4), t(5)
AA(0,0 ) = ...... '赋值过程你自己写
然后再: CC = FuzzyEvalution(AA(m, n), t(i))
这样,就没问题了。
在调用那个函数FuzzyEvalution( )之前,应该用Redim 来初始化,并对数组元素赋值。
比如:
redim AA(3, 4), t(5)
AA(0,0 ) = ...... '赋值过程你自己写
然后再: CC = FuzzyEvalution(AA(m, n), t(i))
这样,就没问题了。
追问
大神,我初始化了,之前有段程序是给m,n赋值的,i也赋值了,但是不知道为什么程序先运行CC = FuzzyEvalution(AA(m, n), t(i))这条语句,而不是先运行程序前面的AA(m,n)和t(i)数组赋值,大神,跪求解决方法!
追答
这执行顺序不对,是你的程序代码结构的问题了。
你不把完整代码发出来,是无法知道原因在哪的。
对了,调用函数那句,应该是:
CC = FuzzyEvalution(AA, t)
不要带 m、n什么的……
如果数组AA和t是在这调用之前进行过初始化的,就没问题了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询