エラー、バグ、質問 - ページ 1873 1...186618671868186918701871187218731874187518761877187818791880...3185 新しいコメント fxsaber 2017.04.24 11:43 #18721 Stanislav Korotky: 最新のビルドでは、EAコードの変更と再コンパイルがテスターに拾われないバグは修正されましたか?新しいバージョンのex5のテストを開始するために、ターミナルを閉じて開き直さなければならないのです。そうでない場合は、古いバリアントがテストされます。 Expert Advisor を編集して CTRL+F5 を押すか、Strategy Tester で直接操作すると、適切な結果を得ることができます。 Stanislav Korotky 2017.04.24 11:51 #18722 fxsaber: Expert Advisor を編集し、CTRL+F5 またはテスターで直接、適切な結果を見ることができます。 Ctrl+F5がデバッグですよね?私の問題は、デバッグではなく、簡単なテストを実行することです。 fxsaber 2017.04.24 12:04 #18723 Stanislav Korotky: Ctrl+F5がデバッグですよね?私の問題は、デバッグではなく、簡単なテストを実行することです。 ビジュアルがないと、編集の後に走ってしまうので、大丈夫です。 Koldun Zloy 2017.04.24 15:58 #18724 fxsaber:クローズドコンストラクタで隠し クラスオブジェクトを 作成する方法は?こうしてリークが来ているのです。このような状況でデストラクタを呼び出す方法は明確ではありません。シングルトンはそれではない。閉じたコンストラクタを持つクラスオブジェクトは、そのクラスの特別な静的関数を使用してのみ作成することができます。現在、コンパイラは引用されたコードに悪態をつくことはありませんが、将来的には必ず修正されるでしょう。スマートポインタを使用してデストラクタを呼び出すことができます。デストラクタはオープンでなければならない。 fxsaber 2017.04.24 17:16 #18725 Koldun Zloy:閉じたコンストラクタを持つクラスのオブジェクトは、そのクラスの特別な静的関数を使用してのみ作成することができます。現在、コンパイラは引用されたコードに悪態をつくことはありませんが、将来的には必ず修正されるでしょう。この場合、提案された静的メソッドは、本質的にはコンストラクタになるため、ある種の自己欺瞞になります。明示的に呼び出す必要があります。スマートポインタを使用してデストラクタを呼び出すことができます。デストラクタはオープンでなければならない。 スマートポインターとは? Koldun Zloy 2017.04.25 02:16 #18726 コンストラクタをprivateにすることが確実な場合は、それ以外の方法はありません。スマートポインターは、単純なポインターを含むオブジェクトで、時間内に削除されることを保証するものです。class MyClass { public: MyClass(); }; struct MyClassPtr { MyClass* pMyClass; MyClassPtr( MyClass* myClass ) : pMyClass( myClass ) { } ~MyClassPtr() { delete pMyClass; } };これは最もシンプルな選択肢です。また、より複雑なスマートポインタも存在します。この本には、それらについてとてもよく書かれています。https://rsdn.org/res/book/cpp/cpp_real_programmers.xml。 C++ : библиотека программиста rsdn.org Глава 5. Умные указатели Глава 6. Ведущие указатели и дескрипторы Глава 7. Грани и другие мудрые указатели Глава 8. Коллекции, курсоры, итераторы Глава 9. Транзакции и гениальные указатели Konstantin 2017.04.25 03:24 #18727 コードをコンパイルするために何が足りないのか。class CMyClass { public: void* core; CMyClass(void) : core(NULL) { } template<typename T> void Create(T* a_ptr) { core = dynamic_cast<T *> (a_ptr); } }; class CCore { public: int var; CCore(void) : var(3) { } }; int OnInit() { CCore *_point_1 = new CCore(); CMyClass _obj; _obj.Create(_point_1); int _val = _obj.core.var; delete _point_1; //--- return INIT_SUCCEEDED; }この変種は 'var' を書きます - 構造体のメンバは未定義です。PS.エラーが発生しました ))int _val = dynamic_cast <CCore *>(_obj.core).var; fxsaber 2017.04.25 04:23 #18728 void*は、どの言語でのビルドからですか? Sergey Dzyublik 2017.04.25 04:34 #18729 fxsaber:void* どのビルドの言語から? そこで、インターフェイスの登場である。 fxsaber 2017.04.25 05:58 #18730 Sergey Dzyublik: インターフェイスが来たとき ありがとうございます。しかし、すぐにエラーが発生しましたstruct PTR { void* Ptr; // internal error #40 }; 1...186618671868186918701871187218731874187518761877187818791880...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
最新のビルドでは、EAコードの変更と再コンパイルがテスターに拾われないバグは修正されましたか?新しいバージョンのex5のテストを開始するために、ターミナルを閉じて開き直さなければならないのです。そうでない場合は、古いバリアントがテストされます。
Expert Advisor を編集し、CTRL+F5 またはテスターで直接、適切な結果を見ることができます。
Ctrl+F5がデバッグですよね?私の問題は、デバッグではなく、簡単なテストを実行することです。
クローズドコンストラクタで隠し クラスオブジェクトを 作成する方法は?
こうしてリークが来ているのです。
このような状況でデストラクタを呼び出す方法は明確ではありません。シングルトンはそれではない。
閉じたコンストラクタを持つクラスオブジェクトは、そのクラスの特別な静的関数を使用してのみ作成することができます。
現在、コンパイラは引用されたコードに悪態をつくことはありませんが、将来的には必ず修正されるでしょう。
スマートポインタを使用してデストラクタを呼び出すことができます。
デストラクタはオープンでなければならない。
閉じたコンストラクタを持つクラスのオブジェクトは、そのクラスの特別な静的関数を使用してのみ作成することができます。
現在、コンパイラは引用されたコードに悪態をつくことはありませんが、将来的には必ず修正されるでしょう。
この場合、提案された静的メソッドは、本質的にはコンストラクタになるため、ある種の自己欺瞞になります。明示的に呼び出す必要があります。
スマートポインタを使用してデストラクタを呼び出すことができます。
デストラクタはオープンでなければならない。
コンストラクタをprivateにすることが確実な場合は、それ以外の方法はありません。
スマートポインターは、単純なポインターを含むオブジェクトで、時間内に削除されることを保証するものです。
これは最もシンプルな選択肢です。
また、より複雑なスマートポインタも存在します。
この本には、それらについてとてもよく書かれています。https://rsdn.org/res/book/cpp/cpp_real_programmers.xml。
コードをコンパイルするために何が足りないのか。
この変種は 'var' を書きます - 構造体のメンバは未定義です。
PS.エラーが発生しました ))
int _val = dynamic_cast <CCore *>(_obj.core).var;
void* どのビルドの言語から?
そこで、インターフェイスの登場である。
インターフェイスが来たとき