调用可返回数组的自定义函数来赋值显示类型不匹配!该怎么解决

调用可返回数组的自定义函数来赋值显示类型不匹配!!!!!!!!!!!!!!!!!!!!!!!!
想调用可返回数组的自定义函数a来给B1(3)赋值,但是运行老是提示函数a的“类型不匹配”,不知道该怎么解决??


Public Function a(ByVal a As Single, ByVal b As Single, ByVal c As String, ByVal d As Single) As Single()  



Dim ahc() As Single                       '定义经济技术指标判断集缓存集
ReDim ahc(3) As Single                    '再定义经济技术指标判断集缓存集
.......

a = ahc()                                           '返回数组
End Function


Private Sub Command1_Click()
dim B1(3) as string
.........
B1(3) = a(c(i, 0), c(i, 1), std, bgsd)    '函数调用,其中C(i,0)C(i,1)为刚刚赋值的数组
end sub

------解决方案--------------------
真佩服lz:函数名能和其参数名一样吗?
另外:B1(3) = a(c(i, 0), c(i, 1), std, bgsd)中B1(3)是一个数组中的元素,而a返回的是数组,它们之间怎能划=号?

B1 = a(c(i, 0), c(i, 1), std, bgsd)
------解决方案--------------------
Private Sub Command1_Click()
dim B1(3) as string


Public Function a(ByVal a As Single, ByVal b As Single, ByVal c As String, ByVal d As Single) As Single()  

首先: B1(3) = a(......)
这儿的 B1(3) 是一个数组的最基本的元素(简单变量, 类型: string),而函数a( ) 的返回值是数组。
这能“匹配”吗?

其次: B1 是 String类型数组, 而函数a( ) 的返回值是Single类型数组。 这也无法匹配!
再次: 返回数组的函数,只能赋值给动态数组,而 B1声明为固定数组,就算类型完全匹配,也不符合语法!不能赋值!

------解决方案--------------------
Public Function a(ByVal a As Single, ByVal b As Single, ByVal c As String, ByVal d As Single) As Single()  
Dim ahc() As Single                       '定义经济技术指标判断集缓存集
ReDim ahc(3) As Single                    '再定义经济技术指标判断集缓存集
.......
a = ahc                                           '返回数组
End Function


Private Sub Command1_Click()
dim B1() as as single ' string既然返回是single,不能使用使用sting数组来接收
.........
B1 = a(c(i, 0), c(i, 1), std, bgsd)    '函数调用,其中C(i,0)C(i,1)为刚刚赋值的数组
end sub