i
がバリアントとして扱われるため、次のコードでコンパイル時エラーが発生します。エラーは:"ByRef引数型の不一致です。"Visual Basic 6.0値渡し参照差分
しかし、私がパラメータByVal
を渡すと、何のエラーもありません?
Private Sub Command2_Click()
Dim i, j As Integer
i = 5
j = 7
Call Swap(i, j)
End Sub
Public Sub Swap(ByRef X As Integer, ByRef Y As Integer)
Dim tmp As Integer
tmp = X
X = Y
Y = tmp
End Sub