代码一:
Dim x(100),y(100) As Byte Call ReadBytes(x)
Public Sub ReadBytes(ByRef z() As Byte)
'Do Nothing
End Sub
对以上代码进行编译,你会发现编译并不能通过。
代码二:
Dim x(100) As Byte,y(100) As Byte Call ReadBytes(x)
Public Sub ReadBytes(ByRef z() As Byte)
'Do Nothing
End Sub
调试以上代码,通过。
从C语言或其他语言转过来的程序员,很容易犯代码一的错误,因为在VB中:
Dim x(100),y(100) As Byte
等效于:
Dim x(100) Dim y(100) As Byte
而不是:
Dim x(100) As Byte Dim y(100) As Byte
而如果不作类型说明,那么VB就会给你使用默认的类型Variant。