VB调用C++的dll,VB中一个变量的地址和数组的地址重叠了
VB.net调用C++写的一个dll,VB的exe和C++的dll都是我们写的。dll一个接口的参数中要求传递一个数组的地址和一个int型的地址,VB中声明了两个变量,
Dim count As Integer = 0
Dim regions(100) As regionType
然后以传引用的方式调用上面的那个接口,dll中会根据这两个参数的地址,对这个Integer 型变量和数组进行赋值。
在赋值的过程中,发现count的地址在数组的元素的地址范围内,就是说被数组给覆盖了,导致调用完之后,count的值为-85646488之类的值。
请问,这是怎么回事?