MT4 array out of range
久々にMT4でコーディングしています。もう7,8年ぶりぐらいなので、すっかり忘れてます。今回、デフォルトでついてくるパラボリックSARのソースを基にdouble型の配列にLow[0]の値を代入していたのですが、「array out of range」が発生しました。
(下記は、抜粋)
変更前
double ExtSARBuffer;
ArrayInitialize(ExtSARBuffer,0.0);
ExtSARBuffer[0]=Low[1];
変更後
double ExtSARBuffer;
ArrayResize(ExtSARBuffer,1001,10);
ArrayInitialize(ExtSARBuffer,0.0);
ExtSARBuffer[0]=Low[1];
変更点は、配列のイニシャライズの前にArrayResize()を使用して、メモリを割り当てています。逆に言うと、元のパラボリックSARのソースがエラーもなくなぜ動作するのか、不思議です。