エラー、バグ、質問 - ページ 1981 1...197419751976197719781979198019811982198319841985198619871988...3185 新しいコメント Alexey Navoykov 2017.08.29 18:52 #19801 A100:これは本当に何も変わりません - コンパイルエラー(私はタブレットを持っている - Borlandのコンパイラ)。 うーん、じゃあ、言語規格を見て、誰のコンパイラがめちゃくちゃなのか確認する必要があるんですね。 A100 2017.08.29 19:08 #19802 Alexey Navoykov: うーん、じゃあ、言語規格を調べて、誰のコンパイラが混乱してるのか確認しないといけないね。 2つ目のオプションも同様です #ifdef __BORLANDC__ class B; class A { int g( B * ); int i; }; class B : public A {}; int A::g( B *b ) { return b->i; } //Error: E224 #endif VS 2010は、B*からA*への暗黙の変換によってprivateを克服するため、失敗します。 #ifdef __BORLANDC__ class B; class A { int g( B * ); int i; }; class B : public A {}; int A::g( B *b ) { return ((A *)b)->i; } //нормально #endif TheXpert 2017.08.29 19:40 #19803 Alexey Navoykov: うーん、じゃあ、言語規格を調べて、誰のコンパイラがめちゃくちゃなのか確認しないといけないね。 gcc 7.2は、最新版をコンパイルします。 Compiler Explorer - C++ About the authorgodbolt.org These settings control how Compiler Explorer acts for you. They are not preserved as part of shared URLs, and are persisted locally using browser local storage. A100 2017.08.29 22:05 #19804 Комбинатор: gcc 7.2は、最新版をコンパイルします。その結果、次のような表が出来上がりました。class B; class A { //MQL //BCC //VS2010 //gcc int f1( B *b ) { return b .i; } // - - + + int f2( B *b ) { return b .g(); } // + - + + int f3( B *b ) { return ((A *)b).i; } // + + + + int f4( B *b ) { return ((A *)b).g(); } // + + + + int f5() { return b .i; } // - - + + int f6() { return b .g(); } // + - + + int f7() { return ((A *)b).i; } // + + + + int f8() { return ((A *)b).g(); } // + + + + //--- int g() { return 0; } int i; B *b; }; class B : public A {}; また、msdnは、「アクセスコントロールは、オブジェクトが不正に使用されるのを防ぐのに役立つ」と述べている。この保護は、明示的な型変換(タイプコンバージョン)を行う際に失われます。 Ahmet Garyagdyyev 2017.08.30 12:18 #19805 皆さん、こんにちは。ビジュアライゼーションが有効なときにストラテジーテスターに表示されるインジケーターウィンドウを削除する方法があれば教えてください。MT5ではwizardaで生成されます。MQL5の ドキュメントにStrategy TesterでIndicatoReleaseが動作しないことが書いてありました。(とりあえずOnDeinitにこの関数を挿入してみたところ、ハンドルが宣言されていないと文句を言われるようになりました。宣言すると、他のエラーが発生します)。他に方法はないのでしょうか? Aleksey Vyazmikin 2017.08.30 12:34 #19806 Ahmet Garyagdyyev:皆さん、こんにちは。ビジュアライゼーションが有効なときにストラテジーテスターに表示されるインジケーターウィンドウを削除する方法があれば教えてください。MT5ではwizardaで生成されます。MQL5の ドキュメントにStrategy TesterでIndicatoReleaseが動作しないことが書かれていました。(とりあえずOnDeinitにこの関数を挿入してみたところ、ハンドルが宣言されていないと文句を言われるようになりました。宣言すると、他のエラーが発生します)。他に方法はないのでしょうか?すべてのインジケータを含むテンプレートを、過去に保存した任意のものに変更することができます。 Stanislav Korotky 2017.08.30 15:09 #19807 A100:その結果、次のような表が出来上がりました。 VSとgccは、長い間、ボーランドよりもリファレンス*(少なくとも大きくはバグが少ない)と見なされてきました。私自身、長年ボーランドを使ってきましたが、それ以外の長所を踏まえて。PS.*これは私の個人的な意見ではないので、議論するつもりはありません。 pavlick_ 2017.08.31 16:44 #19808 STL c++ ライブラリを実装しようとしたことがある人はいますか?できればコードベース配置で、検索するとダメと出ますが、vrdug ....確かに全てではありませんが、基本的なものはあります。テンプレートを使ったいくつかの通常のコンテナや、auto_ptr(確かに自分で書きましたが、このようなプリミティブを自分で書くのは馬鹿げています)です。 なぜstd µlがnon-templateなのか、なぜSTLのメソッド/クラスの類似品に新しい名前を発明しなければならないのか、理解できません。 pavlick_ 2017.08.31 17:55 #19809 間違いを見つけたので、コンパイルされたテキストを完全に挿入するのではなく、スクリプトから断片を抜き出すことにします。class Source : public CObject { public: upindex_t start, top, lstart, ltop; }; CArrayObj sourcear; do { Source *new_src = new Source; new_src.start = last.start; new_src.top = last.top; new_src.lstart = prev_prev.start; new_src.ltop = prev_prev.top; if( ! sourcear.Add(new_src) ) return; } while(...); for(int i = 0; i < sourcear.Total(); ++ i) { Source cursrc = (Source*)sourcear.At(i); //!!!!! Это не вызывает ошибки во время компиляции }例)キャスト:CObject*→ Source*→Sourceそれとも、何かトリッキーなMQL Specificなのでしょうか?ZS: そして、そのような文字列が食べられているのです。Source new_src = new Source;それはナンセンスだ。言語内のcons/operatorをコピーしていない、デリファレンスしていない。どうしたんだ? fxsaber 2017.08.31 18:03 #19810 pavlick_:それとも、何かトリッキーなMQL Specificなのでしょうか?class A {}; void OnStart() { A a = new A; }デフォルトのコピー演算子が発動する。 1...197419751976197719781979198019811982198319841985198619871988...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
これは本当に何も変わりません - コンパイルエラー(私はタブレットを持っている - Borlandのコンパイラ)。
うーん、じゃあ、言語規格を調べて、誰のコンパイラが混乱してるのか確認しないといけないね。
VS 2010は、B*からA*への暗黙の変換によってprivateを克服するため、失敗します。
うーん、じゃあ、言語規格を調べて、誰のコンパイラがめちゃくちゃなのか確認しないといけないね。
gcc 7.2は、最新版をコンパイルします。
その結果、次のような表が出来上がりました。
皆さん、こんにちは。
ビジュアライゼーションが有効なときにストラテジーテスターに表示されるインジケーターウィンドウを削除する方法があれば教えてください。
MT5ではwizardaで生成されます。
MQL5の ドキュメントにStrategy TesterでIndicatoReleaseが動作しないことが書いてありました。(とりあえずOnDeinitにこの関数を挿入してみたところ、ハンドルが宣言されていないと文句を言われるようになりました。宣言すると、他のエラーが発生します)。
他に方法はないのでしょうか?
皆さん、こんにちは。
ビジュアライゼーションが有効なときにストラテジーテスターに表示されるインジケーターウィンドウを削除する方法があれば教えてください。
MT5ではwizardaで生成されます。
MQL5の ドキュメントにStrategy TesterでIndicatoReleaseが動作しないことが書かれていました。(とりあえずOnDeinitにこの関数を挿入してみたところ、ハンドルが宣言されていないと文句を言われるようになりました。宣言すると、他のエラーが発生します)。
他に方法はないのでしょうか?
すべてのインジケータを含むテンプレートを、過去に保存した任意のものに変更することができます。
その結果、次のような表が出来上がりました。
VSとgccは、長い間、ボーランドよりもリファレンス*(少なくとも大きくはバグが少ない)と見なされてきました。私自身、長年ボーランドを使ってきましたが、それ以外の長所を踏まえて。
PS.*これは私の個人的な意見ではないので、議論するつもりはありません。
STL c++ ライブラリを実装しようとしたことがある人はいますか?できればコードベース配置で、検索するとダメと出ますが、vrdug ....確かに全てではありませんが、基本的なものはあります。テンプレートを使ったいくつかの通常のコンテナや、auto_ptr(確かに自分で書きましたが、このようなプリミティブを自分で書くのは馬鹿げています)です。
なぜstd µlがnon-templateなのか、なぜSTLのメソッド/クラスの類似品に新しい名前を発明しなければならないのか、理解できません。
間違いを見つけたので、コンパイルされたテキストを完全に挿入するのではなく、スクリプトから断片を抜き出すことにします。
例)キャスト:CObject*→ Source*→Source
それとも、何かトリッキーなMQL Specificなのでしょうか?
ZS: そして、そのような文字列が食べられているのです。
Source new_src = new Source;
それはナンセンスだ。言語内のcons/operatorをコピーしていない、デリファレンスしていない。どうしたんだ?
それとも、何かトリッキーなMQL Specificなのでしょうか?
デフォルトのコピー演算子が発動する。