这问题怎么听起来这么别扭,感觉就象是在问: 怎么对大人进行转换,使其变成小孩一样。很难理解! 为什么想传数组,却要把a声明为Variant?Dim a As Variant Private Sub Pro(b As Variant) ...... End Sub 可以Dim a As() As Byte Private Sub Pro(b() As Byte) ...... End Sub 也可以Dim a() As Byte Private Sub Pro(b As Variant) ...... End Sub 更可以总共只有四种组合方式,除了你那种以外,其它三种都可以,你的眼光真好,一下就选中了!
我看了 linton(漠然飞雪) 提供的链接 我觉得好像没有我需要的功能我主要是希望做转换之后(在 a 确实为一个字节数组的时候) 能够使用字节数组所具有的功能
不确定a是什么类型,就用 a As Variant Private Sub Pro(b As Variant) b可以接收Byte数组,你就按数组处理完全可以,很多函数需要数组的参数都这样声明的。b() As Byte能干的事,用b As Variant都行, 但b As Variant能干的事,用b() As Byte大多不行这就是大与小的关系!若你非要钻这个牛角尖,不改Sub Pro的参数类型,那就 Dim c() As Byte If IsArray(a) Then c = a Pro c End If
http://community.csdn.net/Expert/topic/3535/3535800.xml?temp=.9853022
怎么对大人进行转换,使其变成小孩一样。很难理解!
为什么想传数组,却要把a声明为Variant?Dim a As Variant
Private Sub Pro(b As Variant)
......
End Sub
可以Dim a As() As Byte
Private Sub Pro(b() As Byte)
......
End Sub
也可以Dim a() As Byte
Private Sub Pro(b As Variant)
......
End Sub
更可以总共只有四种组合方式,除了你那种以外,其它三种都可以,你的眼光真好,一下就选中了!
我觉得好像没有我需要的功能我主要是希望做转换之后(在 a 确实为一个字节数组的时候)
能够使用字节数组所具有的功能
a As Variant
Private Sub Pro(b As Variant)
b可以接收Byte数组,你就按数组处理完全可以,很多函数需要数组的参数都这样声明的。b() As Byte能干的事,用b As Variant都行,
但b As Variant能干的事,用b() As Byte大多不行这就是大与小的关系!若你非要钻这个牛角尖,不改Sub Pro的参数类型,那就
Dim c() As Byte
If IsArray(a) Then
c = a
Pro c
End If