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

 
Alexey Viktorov:
Хочешь сказать при закрытых графиках не скрывается символ?
Alexey Viktorov
:

チャートを閉じた ときにシンボルが隠れないということですか?

ああ、この手の話には何度か出くわしたことがある。

 
Vitalii Ananev:

それでもエラーメッセージは正しいです。

当初はあまり気にしていなかったのですが、あらためて見てみると、「これは正しくない」という議論もあるようです。そして、その理由は以下の通りです。

int f()
{
        while ( true )
        {
//много строк c return, continue, без break
                return 0;
//много строк c return, continue, без break
                return 1;
//много строк c return, continue, без break
        }
        return Random(); //(*) написано по требованию MQL компилятора //строка 61
}

while(true) {}の後に何を入れるかは、これに尽きます。"どうせ行けない"・・・。returnは形式的にしか必要ありません - コンパイラがOKを出すために...そこで - そこにランダムな値を入れてみましょう - return Random();".

しばらくして、コードにいくつか変更を加え、今度はwhileの中にブレークを追加する必要があります。
この場合、コンパイラは、「OK.while(true) {}の後にコードがありますが、これは「break」ケースがすでに以前に提供されており、この一連の行の中に同じ「break」があるはずだという意味です。すべての返り値は当時すでに考えられていたのだから、気にするな!」。
そして最終的にはランダムな 値を得ることになる。

しかし、もし先頭に文字列(*)がなかったら、コンパイラは「Error: No.......まさか...以前は壊れなかったので、何か意図的なものを返さなければならない」。

(*)文字列は過剰なだけでなく、見つけにくいエラーの確率を高めることが判明した

 
A100:

当初はあまり気にしていなかったのですが、改めて見てみると、「これはおかしい」という意見もあり......。

さらに、あなたのこの例では、通常、「到達できないコード」の警告が出るはずです。Studioではその警告も出ませんが、Bordeauxコンパイラでは出たと記憶しています。
 
Sergei Vladimirov:
さらに、あなたのこの例では、通常、「到達できないコード」の警告が発生するはずです。Studioもそのような警告は出さないが、ボーランドのコンパイラは確か出していた。

良い思い出です。

また、ボーランドは些細なことで警告を出さないので、またしても私の主張が証明されました。

 
A100:

ボーランドは無駄に警告を出さないしね...。

そこは納得いかない。:)私には、注目に値しない些細なことであるように思えます。return(0)を差し込むだけで、さっさと終わります。

さらに、MCLではwhile(true)の代わりにwhile(!IsStopped())を使った方がよいですし、その場合、ループ後のreturnはすでに必須です。

削除済み  
クラウド(だけでなく)の最適化で問題を抱えている人はいますか?それとも、新しいMT5ビルドで動かなくなったのは私の「運」だけでしょうか?
 
私のエディタでは、ポイントの後に使用可能なメソッドのリストが落ちません。これは私にとって非常に不便なことです。どうすれば直るのでしょうか?旧バージョンでは、リストがドロップダウンしていました。
 
vinnipyx:
私のエディタでは、ポイントの後に使用可能なメソッドのリストが落ちません。とても不便なんです。どうすれば直るのでしょうか?旧バージョンでは、下に落ちました。
同じ問題です。記憶を頼りに打ち始めると、2、3文字で落ちてしまうのですが、この文字からしか始まりません。
これはひどく不便だ。
 

こんなのはどうでしょう

 
Vladimir Pastushak:

こんなのはどうでしょう

構造体のコンストラクタなのでしょうか?