我建立了一个模块,在模块里面写了一个过程Function testarr(t As Integer)
    Dim a(t)
    a(0) = "t1"
    a(1) = "t2"
    testarr = a
End Function
然后我在FORM里面调用msgbox(ubound(common.testarr(2)))系统提示“Function testarr(t As Integer)” 这个地方“要求常数表达式”
不知道什么原因了 帮忙解决一下吧  谢谢

解决方案 »

  1.   

    有testarr(2)这个元素吗?
    数组序号是从0开始的吧
      

  2.   

    Function testarr(a() As string)
        a(0) = "t1"
        a(1) = "t2"
        testarr = a
    End Function
      

  3.   

    再说你这个ubound(common.testarr(2))是什么意思?
    ubound返回指定的数组维可用的最大下标ubound(common.testarr)
      

  4.   

    Function testarr(t As Integer)
        Dim a()
    ReDim a(t)
        a(0) = "t1"
        a(1) = "t2"
        testarr = a
    End Function
      

  5.   

    问题在Dim a(t),你声明的是固定长度的数组,t应为常量,但你的t是变量。应声明Dim a(),然后用redim初始化。