在自定义的函数中,我想向函数传递一个数组和三个整数,其中数组和两个整数要求在函数中改变他们的值在函数外能体现出来,也就是说,要通过地址传递。我写成如下:
Public Function firstlevel(ByRef qi() As Integer, ByVal k As Integer, ByRef ax As Integer, ByRef ay As Integer) As Integer     
结果在调用函数的时候,提示ax的传递参数有问题,说byref类型传递错误
我知道数组的byref是必不可少的,可是其它的任凭我怎么变,也不行,请问大虾该怎么实现呀?谢谢了!

解决方案 »

  1.   

    数组的传递好像是要用Variant类型!你试试:Public Function firstlevel(ByRef qi As Variant, ByVal k As Integer, ByRef ax As Integer, ByRef ay As Integer) As Integer 
      

  2.   

    ByRef 类型传递错误,是表示你在调用函数的时候,变量类型与函数声明不相符你在调用这个函数的时候,变量的类型一定要定义好如:
    Dim qi() as Integer
    DIm ax as Integer
    dim ay as Integer
    dim k as IntegerRetVal = firstlevel(qi, k, ax, ay)这样是不会出错的。
      

  3.   

    lifat(雷非) 
    你说的方法不行
     YanJieBing(小严)
    我就是已经声明好的,就是不行!
      

  4.   

    YanJieBing(小严)
    不好意思,是我搞错了,你对的!
    可是这是为什么呢?