比方说,我有什么阵列Trial() As Integer
我有以下两个变量定义为整数:内部分配VB
Dim Left As Integer
Dim Right As Integer
现在我增加审判的数组索引
ReDim Preserve Trial(Left+Right)
现在如果我总数(左+右)超过整数限制,以上将给出错误。
而且,如果重新声明左为长,那么它会正常工作。
其实我想了解(左+右)的内部计算。
是否根据“左”的数据类型分配总空间?
或者它也可能取决于“正确”的数据类型?
+1。另外值得一提的是,它只看当时正在进行的计算。所以'CLng(Left)*(Left + Right)'仍然会让你在“Left + Right”上出现溢出,因为它将这部分视为整数。到达CLng(Left)*时,它会扩展到Long。 – MarkJ 2010-07-30 08:08:58