比方說,我有什麼陣列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