イミディエイト ウィンドウを使用してデバッグを行ったところ、この質問のために簡略化した次のようなものに出会いました。
このコマンドの実行:
?20000*2
「オーバーフロー」エラーが発生します。これは、データ型を宣言しておらず、VBE が想定していたことが原因であると仮定しましょうInteger
。結果が符号付き整数の境界の外にあるため、オーバーフローが発生します。
ただし、実行すると:
?39999+1
私は40000
期待通りに取得します。
これは、私が最初Long
に an ではなくa から始めたからInteger
でしょうか (つまり、20,000 対 39,999)? したがって、計算結果ではなく、最初の入力データに基づいてメモリが割り当てられますか?