程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Dim的陷阱

編輯:關於Access數據庫

代碼一:


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。

這個錯誤非常隱蔽,而且並不常見在編程新手身上,而是有過很長時間其他語言編程經驗的老程序員身上,希望這篇文章能夠使你避免犯這樣的錯誤。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved