エラー、バグ、質問 - ページ 2009

 
fxsaber:
なぜ、その変数が使われていないというWarningが全く出ないのですか?

初期化されるからです。

 
Alexey Viktorov:

初期化されるからです。

では、どのような違いがあるのでしょうか。定数で初期化されます。このコードでもWarningが発生するはずです。

void OnStart()
{
  int Array[];
  int i;
  
  i = Array[0];
  i = Array[1];
  i = Array[2];
}

なぜなら、変数と配列はどこにも関与していないからです。

 
fxsaber:

では、どのような違いがあるのでしょうか。定数で初期化されます。このコードでもWarningが発生するはずです。

なぜなら、変数と配列はどこにも参加していないからです。

配列のサイズが 定義されていないため、このようなコードは全くコンパイルされないと思います。でも、それは単なる小言です。

では、どうして参加しないのでしょうか?変数に配列のセル値が代入される。これが、計算に参加することです。コンパイラはどうやって将来の計画を知ることができるのですか?あなたの思うようにやるのが正しいのでしょうが、とても難しいことだと思います。このようなチェックのアルゴリズムを示そうとすると、「プログラマは、ある変数に何らかの値が代入されているかどうかをチェックする」と書くことができる。そうでない場合は、使用されていないことを意味します。ある変数が初期化されているが、計算のどこにも使われていないことを判断するための近似的なアルゴリズムを示してみてください。

同じ名前の変数の数...は疑問が残る。

 
Alexey Viktorov:

コンパイラーはどうやってあなたの将来の計画を知るのでしょうか?

コンパイラは、次のような理由で、チャンク全体を捨ててしまうことがあります。

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

標準的な機能/アプローチの代替実装

レナート・ファットフーリン さん 2016.09.01 23:50

ループが無駄だからとコンパイラに捨てられないようにするためには、計算結果を利用する必要があるのです。例えば、Print変数Priceを作る。

 
fxsaber:

コンパイラは、以下のような理由で、チャンク全体を捨ててしまうことがあります。

まあ、レナートが答えに窮していないのなら、彼の答えを待とう。そして、原則的にはすべてにおいて個人的に満足しています。

 
コドベースの作品が更新された(作者がコードをいじった)場合、該当のディスカッションスレッドを未読としてマークしてください。
 

unincludeはどのように作成するのですか?

// Test.mqh
void Func() {};
#include <Test.mqh>

// Здесь видна Func();

#uninclude <Test.mqh>

// Здесь не видна Func();
 

値または単位のどちらかを修正する

2017.09.21 11:37:27.564 Tester  EURUSD: preliminary downloading of history ticks started, it may take quite a long time
2017.09.21 11:37:32.564 Tester  EURUSD: "bases\FIBOGroup-MT5 Server\ticks\EURUSD\201708.tkc" download (836044.77 Kb/sec)
2017.09.21 11:37:41.565 Tester  EURUSD: 45% ticks downloaded (535.34 Kb/sec)
2017.09.21 11:37:49.565 Tester  EURUSD: 53% ticks downloaded (518.17 Kb/sec)
2017.09.21 11:38:01.571 Tester  EURUSD: 61% ticks downloaded (530.69 Kb/sec)
2017.09.21 11:38:12.571 Tester  EURUSD: 70% ticks downloaded (547.64 Kb/sec)
2017.09.21 11:38:26.572 Tester  EURUSD: 82% ticks downloaded (543.88 Kb/sec)
2017.09.21 11:38:38.573 Tester  EURUSD: 94% ticks downloaded (552.07 Kb/sec)
2017.09.21 11:38:50.573 Tester  EURUSD: preliminary downloading of history ticks completed, 44.41 Mb in 1:23.008 (547.80 Kb/sec)
 
fxsaber:

unincludeはどのように作るのですか?

直接はできません。コードのリファクタリング(異なるファイル構造またはOOP)が有効です。

 
がゼロを返しますが、これは正常ですか?