テンプレート・パラメータ = void* のコンパイラ・バグ - ページ 9

 
A100:

MQL5では優先順位が異なるため、警告が発せられただけです。からではなく

つまり、開発者はこれまでのバグを修正したのです...。其れっ切り

こちらも、優先順位がおかしいのでしょうか?

 
fxsaber:

こちらも 優先順位がおかしいのでしょうか?

MQL5と昔のMQL4では違うんです...。もう読んだと思ったけど
 
A100:
MQL5と昔のMQL4では違うんです...。もう読んだと思ったけど

相違点の一覧表をお願いします。

 
fxsaber:

相違点の一覧表をお願いします。

自分で作れないの?上記のリンクをクリックしてください。

MQL5と新MQL4

操作方法

商品説明

実行順序

&&

AND論理演算

左から

||

オアロジカルオペレーション

左から右へ


旧MQL4

||

オアロジカルオペレーション

左から右へ

&&

AND論理演算

左から右へ

オペレーショングループの優先順位が高いほど、テーブルの上位に配置されます。

あなたのお手本です。

bool a = r && g || b;
 
Ilya Malev:
Excelが不完全な数式を書いたときに行うように、コンパイラが自動的に括弧を「正しく」並べることを提供してくれれば、もっと便利なのだが。

一般に、ブラケット愛好家のための特別なプログラミング言語であるLISPがあります。あるサーチエンジンからの抜粋です。「このスタイルはLISP言語に少し似ていますね。しかし、LISPでは、括弧の数が多いのは、演算の優先順位付け がされていないためです。"

 
A100:

一般に、括弧書きのファンには、SimulaやLISPといった特別なプログラミング言語がある。あるサーチエンジンからの抜粋です。「このスタイルはLISP言語にちょっと似ていますね。しかし、LISPでは演算に優先順位が ないため、括弧が多くなってしまうのです。"

開発者が過去のロジックを突然変更するようなことを、コンパイラが警告してくれるのは良いことです。mql4からのコード移行後、ArrayMaximumなどの関数呼び出し時に同じ警告が出れば、私の時代にはかなりの時間と神経を節約できたと思います(1型パラメータを自由に入れ替えていました、意識していないかもしれませんが)。

 
Ilya Malev:

開発者が過去のロジックを突然変更するようなことは、コンパイラが警告するのがよいのです。

私は気にしません。ただ、その警告は昔のMQL4のままにしておいてください。

 
普通のプログラマは乗算表などC++の演算の優先順位を覚えて いる」については、個人的には演算子のオーバーロードを始めてから多かれ少なかれ覚えており、それ以前は全く開いたことがない状態です。mqlのコーダーは全員がプロではないので、ターミナルやトレーダー 用の言語の開発者は、少なくともこのことを考慮する必要があります。
 
Ilya Malev:

mql4からコードを移した後、ArrayMaximumのような関数呼び出しで同じ警告が出れば、私の時代の神経と時間の節約になりました(同じパラメータを自由に交換したのです、ご存じないようですが)。

まあ、配られることはないんですけどね。これが選択的コーディングの悪いところです。コンパイラが何でもやってくれる(だからオールかゼロか)と錯覚してしまうのです。

 
Ilya Malev:
mqlのコーダーは全員がプロではないので、ターミナルやトレーダー 用の言語の開発者は、少なくともこのことを考慮する必要があります。

そのとおりです。決してプロではありませんが、このような警告に100回は助けられました。