インクリメント時の左辺配列要素の参照回数

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: インクリメント時の左辺配列要素の参照回数

インクリメントについて

by Kobu » 2006年4月12日(水) 20:36

自分が発見したインクリメントによるバグ(?)が修正されたのは、ありがとうございます。

ただ、修正後のABにおいて文字列インクリメント

コード: 全て選択


Dim S As String
S+="a"
を記述すると、内部エラーと表示されます。

報告ということで・・後はお任せします。

インクリメント時の左辺配列要素の参照回数

by 山本 » 2006年4月06日(木) 21:26

質問版で気づき辛い問題を発見された方がおりましたので、私のほうから詳細をご報告させていただきます。

コード: 全て選択

Dim i=1 As Byte,k[1] As Byte
k[Command()]++
debug

Function Command() As Byte
Command=i
If i>0 Then i=0
End Function
このようなコードを実行すると、Command関数が2回呼び出されてしまう問題について、修正を行います。

n++

通常は上記のようなコードは、

n=n+1

と同等の意味を持ちますが、今回の問題に関しては、

k[Command()]++

k[Command()]=k[Command()]+1

は等しいとはいえません。プログラムの表記通り、配列要素の参照が一度しか記述されておりませんので、呼び出し回数も一度で済むように改良を行おうと思います。

ページトップ