我寫一個計算機的M+
Dim f As Integer = 0
Dim q(f) As Single
f = f + 1
q(f) = Me.TextBox1.Text
案1次 M+ 就 +1次f
然後再用q(f)這個陣列存放數字
但是一出現 索引在陣列的界限之外。
請解釋或幫我解決哪裡出問題
------------------------------------------------------------------------------
Dim f As Integer = 0
Dim q(f) As Single
這是 q.length = 1 , q 的 ubound 值為 0
f = f + 1
用 q(1) 當然會超出範圍,
再來, 你的 q(f) 應該是要一直累計下去
所以你的 f, q() 應該是在 function 外宣告成全域的
超出範圍的解決方式,
1. 在 f = f + 1 之後, 加入一行 redim preserve q(f)
2. q() 陣列改用 list 來做會更方便, 連 f 都用不到了
沒有留言:
張貼留言