エラー、バグ、質問 - ページ 1331 1...132413251326132713281329133013311332133313341335133613371338...3185 新しいコメント A100 2015.07.23 17:05 #13301 このように、本当に曖昧になってしまうのです。void f( uint ) { Print( __FUNCSIG__ ); } void f( int ) { Print( __FUNCSIG__ ); } void OnStart() { char ch = 0; f( ch ); // неопределенность } を書き換えると、不思議なことにコンパイラによって克服されます。#import "Test.ex5" void f( uint ); #import void f( int ) { Print( __FUNCSIG__ ); } void OnStart() { char ch = 0; f( ch ); // вызывается f(int), а должна генерироваться неопределенность } TheXpert 2015.07.23 19:44 #13302 あなたの真実 Alexey Navoykov 2015.07.23 20:26 #13303 以前から言われていたことかも知れませんが。MetaEditorでは、入力変数名とローカル変数 名(またはクラスフィールド名)が一致すると、入力変数と同様に後者がいたるところで赤くハイライトされます。 このため、コードを読むときに混乱します。 これを修正する必要があります。 削除済み 2015.07.24 01:28 #13304 Alexey Navoykov: 以前から言われていたことなのか、そうでないのか分かりませんが。MetaEditorでは、入力変数名とローカル変数 名(またはクラスフィールド名)が一致する場合、入力変数と同様に後者がいたるところで赤でマークされます。 これはコードを読むときに混乱を引き起こします。 これを修正する必要があります。コード・エンティティに同じ名前をつけるのは、自分の足を引っ張ることになります。)入力変数の名前を変更する方が簡単だし、問題や混乱も起きないだろうし......。 Maxim Khrolenko 2015.07.24 08:17 #13305 MT4/845、Windows7/64bit。テキストを改行 する際の質問です。スクリプトを作りました。#property strict string t1="Text_1"; string t2="Text_2"; void OnStart() { Print(t1+"\n "+t2); Print("Text_3"+"\n Text_4"); }結果Text_2 と Text_4 の値が他の行にあることを期待していました。何が問題なのか、アドバイスをお願いします。 Alexey Navoykov 2015.07.24 08:52 #13306 Konstantin Karpov:コード・エンティティに同じ名前をつけるのは、自分の足を引っ張ることになります。)入力変数の名前を変更する方が簡単だし、問題や混乱もないだろう...。 同じ名前をわざと つけることはありません。 ローカル関数のコードも、外部プログラムのコードも、それぞれ別の人生を歩んでいます。 また、外部変数の名前は時間の経過とともに変化し、新しい外部変数が追加されることもありえます。その後、突然、何百もの関数のうちの1つが同じ名前のローカル変数 を持っていたら、グローバル変数の 名前をどう変えるべきだと思いますか? 開発者のバグに言い訳を探すべきではありません。 Maxim Khrolenko 2015.07.24 10:53 #13307 MT4/845、Windows7/64bit。スクリプトです。#property strict double d1 = 2.009745110811111111111111111; double d2 = 3.654; double d3; //--- void OnStart() { d3=d1/d2; Print("A: d3 = ",DoubleToString(d3)); Print("B: d3 = ",DoubleToStr(d3)); Print("C: d3 = ",DoubleToString(d3,16)); Print("D: d3 = ",DoubleToString(d3,8)); Print("E: d3 = ",DoubleToString(NormalizeDouble(d3,8))); Print("F: d3 = ",DoubleToString(NormalizeDouble(d3,7))); Print("G: d3 = ",DoubleToString(NormalizeDouble(d3,8),7)); Print("H: d3 = ",DoubleToString(NormalizeDouble(d3,8),8)); } //+------------------------------------------------------------------+ 結果0.55001234という数字を印刷する方法をご存知の方はいらっしゃいますか? 削除済み 2015.07.24 10:57 #13308 Maxim Khrolenko:MT4/845、Windows7/64bit。スクリプトです。結果0.55001234という数字を印刷する方法をご存知の方はいらっしゃいますか? Print("C: d3 = ",DoubleToString(d3,8)); A100 2015.07.24 11:06 #13309 Maxim Khrolenko:MT4/845、Windows7/64bit。テキストを改行 する際の質問です。スクリプトを作った。 MT4でエラーが発生するらしい(MT5では問題なし) Maxim Khrolenko 2015.07.24 11:08 #13310 A100: どうやらMT4のバグらしい(MT5は問題なし) なるほど、開発者がこの点に注目してくれることを期待します。 1...132413251326132713281329133013311332133313341335133613371338...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
このように、本当に曖昧になってしまうのです。
を書き換えると、不思議なことにコンパイラによって克服されます。
以前から言われていたことなのか、そうでないのか分かりませんが。MetaEditorでは、入力変数名とローカル変数 名(またはクラスフィールド名)が一致する場合、入力変数と同様に後者がいたるところで赤でマークされます。 これはコードを読むときに混乱を引き起こします。 これを修正する必要があります。
コード・エンティティに同じ名前をつけるのは、自分の足を引っ張ることになります。)
入力変数の名前を変更する方が簡単だし、問題や混乱も起きないだろうし......。
MT4/845、Windows7/64bit。テキストを改行 する際の質問です。スクリプトを作りました。
結果
Text_2 と Text_4 の値が他の行にあることを期待していました。何が問題なのか、アドバイスをお願いします。
コード・エンティティに同じ名前をつけるのは、自分の足を引っ張ることになります。)
入力変数の名前を変更する方が簡単だし、問題や混乱もないだろう...。
MT4/845、Windows7/64bit。スクリプトです。
結果
0.55001234という数字を印刷する方法をご存知の方はいらっしゃいますか?
MT4/845、Windows7/64bit。スクリプトです。
結果
0.55001234という数字を印刷する方法をご存知の方はいらっしゃいますか?
MT4/845、Windows7/64bit。テキストを改行 する際の質問です。スクリプトを作った。
どうやらMT4のバグらしい(MT5は問題なし)