enum LIST
{
L01=111, // ITEM 1
L02=222, // ITEM 2
L03=333, // ITEM 3
L04=444, // ITEM 4
L05=555, // ITEM 5L06=666, // ITEM 6L07=666, // ITEM 7L08=666, // ITEM 8
};
input LIST LISTING_01=L01;
input LIST LISTING_02=L02;
input LIST LISTING_03=L03;
input LIST LISTING_04=L04;
input LIST LISTING_05=L05;
input LIST LISTING_06=L06;
input LIST LISTING_07=L07;
input LIST LISTING_08=L08;
私の理解では、enum LIST {}のL0Xはすべて独立です。しかし、いくつかのenum要素に同じ値(666)を代入した途端、デフォルトのコメントが正しく表示されなくなり、同じ値を持つ最初の要素(enum LIST {}の 最後の3行参照)からなぜかコメント(というより、同じ値で理解できないのでなんとも言えないが)を拾ってくる。
Oleg Pavlenko #:
MQL4ではゼロインせずに正常に動作するのに、MQL5ではなぜ動作しないのですか?
MQL4は、それだけですべてをゼロにします。
ありがとうございました。
助かりました。
一つわからないことがあるのですが、なぜMQL4ではゼロインなしで正常に動作するのに、MQL5では動作しないのでしょうか?
MQL4は勝手に全てをゼロにリセットしてしまいます。
ゼロにする配列はZeroMemory(array);とArrayFree(array);の違いはありますか? この関数の後に新しい配列サイズが割り当てられると、ArrayResize(array,100,100);
ZeroMemory(array); と ArrayFree(array); は、ゼロにする必要がある配列に対して違いがありますか? この関数の後で新しい配列サイズが割り当てられた場合、ArrayResize(array,100,100);
ZeroMemoryはメモリを解放せず、ゼロにするだけです。
ZeroMemoryはメモリを解放せず、ゼロにリセットするだけです。
しゃい
ゼロにする配列のZeroMemory(array);とArrayFree(array);に違いはありますか? この関数の後に新しい配列サイズが割り当てられると、ArrayResize(array,100,100);
ここは微妙なところだと思うんです。ZeroMemory(array);の後に配列のサイズが大きくなると、「遅れている」配列のセルに「ゴミ」が入ることがあります。ArrayFree(array);を適用すると、「ゴミ」は配列のどこにでもあることになります。
そのため、これらの機能の速度をある程度実験してみないと選べないのです。そして、「ゴミ」について決めるのはプログラマーである。宣言やリサイズの直後に配列が値で満たされるなら、この配列をゼロにしてから満たす意味はあるのか......。
私の理解では、enum LIST {}のL0Xはすべて独立です。しかし、いくつかのenum要素に同じ値(666)を代入した途端、デフォルトのコメントが正しく表示されなくなり、同じ値を持つ最初の要素(enum LIST {}の 最後の3行参照)からなぜかコメント(というより、同じ値で理解できないのでなんとも言えないが)を拾ってくる。
さらに悪いことに、コードコメントにもともと ある「プログラム設定」で7行目のデフォルト表示を「ITEM 6」から「ITEM 7」に、8行目を「ITEM 8」に変更しようとすると、しつこく「ITEM 6」にノックバックされてしまう。
ここにタイプミスがあります