PLOです。アプリケーションの問題 - ページ 18 1...111213141516171819 新しいコメント Yedelkin 2012.08.15 12:56 #171 TheXpert: コンパイルできないようです。 効きますよ :/ 試してみてください。もちろん、設計を模式的に説明しましたが、私の似たようなものは問題なくコンパイルできます。 削除済み 2012.08.15 12:59 #172 Yedelkin:検索がうまくいきません。 繰り返しになるかもしれませんが、「クラスオブジェクトは自己破壊できるのか」という質問です。つまり、まず予約語のthisを使ってクラスオブジェクトの自分への参照を取得し、対応するオブジェクト記述子(ポインタ)に対してdelete演算 子を適用するのです。 みたいな感じ。 それとも、オブジェクトの削除は「内部で」ではなく「外部で」行うのが良い/好ましいのでしょうか? また、この質問には疑問がありました。私は次のような結論に達しました:オブジェクトは自分自身を(苦もなく)削除できますが、オブジェクトのデータ(変数)はその後存在しないので、それらへの呼び出しはないことを忘れてはいけません。しかし、これは汚いやり方だ。外から見たほうがいい。また、オブジェクトが自身を削除した場合、new でしか作成できない。 Yedelkin 2012.08.15 13:02 #173 220Volt: この問題については私も疑問に思っていました。結論から言うと、オブジェクトは自分自身を(苦もなく)削除できるが、その後、オブジェクトのデータ(変数)は存在しなくなるので、それらへの呼び出しができないことを忘れてはならない。しかし、イマイチこれでは雑なやり方で、外の方がいい。 はい、1年前から使っています :)そのモノが不要になったとき、とても便利です。 なぜ、「汚い」方法と考えるのか理解できないのですが? Vladimir Kazakov 2012.08.15 13:02 #174 Yedelkin: まずは、あなたが使おうとしている言語のドキュメントを読んで、そのプログラミング言語の目的のために使われている定義を見ることから始めてみてはいかがでしょうか? 謹んで申し上げます。 正しい方向で考えていますね。 TheXpert 2012.08.15 13:02 #175 このコードはコンパイルできませんclass CCC { public: datetime start; //Сохраняем время создания объекта класса ССС CCC(void) : start(TimeCurrent()) {}; //Функция TimeCurrent() указана без символа "точка с запятой" ~CCC(void) {}; } void OnTick() { CCC ccc; } これは、7行目の;が抜けていて、6行目と5行目には必要ないからです。 Yedelkin 2012.08.15 13:04 #176 kazakov.v: 正しい方向で考えていますね。 言語のドキュメントをあまり読んでいないのではと思われます :) Yedelkin 2012.08.15 13:06 #177 TheXpert: このコードはコンパイルできません これは、7行目の;が抜けていて、6行目と5行目には必要ないからです。 つまり、クラスオブジェクトを作成 するときにトラブルが発生するのでは?OK、ありがとうございます、今確認します。 Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new www.mql5.com Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5 Stanislav Korotky 2012.08.15 13:09 #178 TheXpert: コンパイルできないようです。 コンパイルされます(まあ、セミコロンにはうるさくないですが ;-))。 TheXpert 2012.08.15 13:12 #179 marketeer: コンパイルできます(まあ、セミコロンにはうるさくないですが ;-))。だから質問者は、まさに彼らに問題があるのです。一般的には、そんな些細なことですが...。 Yedelkin 2012.08.15 13:13 #180 TheXpert: このコードはコンパイルできません これは、7行目の;が抜けているためで、6行目と5行目には必要ありません。 不思議なことに、私のコードでは、OnTick()の行を追加した後でも、すべてがコンパイルされます。CCCクラスの宣言の後にのみ、セミコロンを置く必要があります。あなたが書いたように、-7行目にセミコロンを入れる必要があります。 1...111213141516171819 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
コンパイルできないようです。
検索がうまくいきません。 繰り返しになるかもしれませんが、「クラスオブジェクトは自己破壊できるのか」という質問です。つまり、まず予約語のthisを使ってクラスオブジェクトの自分への参照を取得し、対応するオブジェクト記述子(ポインタ)に対してdelete演算 子を適用するのです。
みたいな感じ。
それとも、オブジェクトの削除は「内部で」ではなく「外部で」行うのが良い/好ましいのでしょうか?
この問題については私も疑問に思っていました。結論から言うと、オブジェクトは自分自身を(苦もなく)削除できるが、その後、オブジェクトのデータ(変数)は存在しなくなるので、それらへの呼び出しができないことを忘れてはならない。しかし、イマイチこれでは雑なやり方で、外の方がいい。
まずは、あなたが使おうとしている言語のドキュメントを読んで、そのプログラミング言語の目的のために使われている定義を見ることから始めてみてはいかがでしょうか?
謹んで申し上げます。
正しい方向で考えていますね。
このコードはコンパイルできません
これは、7行目の;が抜けていて、6行目と5行目には必要ないからです。
正しい方向で考えていますね。
このコードはコンパイルできません
これは、7行目の;が抜けていて、6行目と5行目には必要ないからです。
コンパイルできないようです。
コンパイルできます(まあ、セミコロンにはうるさくないですが ;-))。
だから質問者は、まさに彼らに問題があるのです。
一般的には、そんな些細なことですが...。
このコードはコンパイルできません
これは、7行目の;が抜けているためで、6行目と5行目には必要ありません。