コード: 全て選択
#strict
Dim a[1,1]=[[1,2],[3,4]] As Byte
dim lpa As VoidPtr
lpa=VarPtr(a)
Z(a)
End
Sub Z(ByVal a[1,1] As Byte)
dim lpa As VoidPtr
dim a0 As byte
lpa=VarPtr(a)
debug
a0=a[0,1] ←アクセス違反
End Sub
[警告] "Z"の第1パラメータが、*ByteからByteに強制変換されています。
となります
実行するとZ内のlpaはa[0,0]の値が返ります
- a配列(&H12FFBC)
[0,0]16
[0,1]0
[1,0]0
[1,1]0
lpa 16
a0 0
- a配列(&H407010)
[0,0]1
[0,1]2
[1,0]3
[1,1]4
lpa 4222992(&H407010)