エラー、バグ、質問 - ページ 1980 1...197319741975197619771978197919801981198219831984198519861987...3185 新しいコメント A100 2017.08.29 18:50 #19791 Stanislav Korotky:失礼のないように。ここで最初に異常なコミュニケーションを始めたのはあなたです。 C++でのコンパイルについてお聞きします。私見ですが、普通に社会人としての疑問です。 A100 2017.08.29 19:00 #19792 Andrey Barinov: 参考までに、もしあなたの例が両方ともC++に明確に翻訳されているならば、C++は両方のケースでエラーを出します。MQLが1番目のケースでエラーを出さないのは、コンパイルプロセス(言語そのものではなく)が異なるためです。 Stanislav Korotky 2017.08.29 19:00 #19793 A100: C++でのコンパイルについてお聞きします。この2つの節で。この例をC++でコンパイルしてみましたか。それとも、一般的な理論上の理由ですか?私があげたC++での作業例に対して、また試していないなら......そのように書いてください。私の例への返答ですが、今試してみました。 A100 2017.08.29 19:15 #19794 Stanislav Korotky:この2つの節で。C++であげた動作例に対して、また今試したことに対して ServiceDeskを書くとき、サードパーティーのサイトのコードも例として引用するのですか?また、そうでない場合は、なぜそうしないのか? Andrey Barinov 2017.08.29 19:26 #19795 A100: 参考までに、もしあなたの例が両方ともC++に明確に翻訳されているならば、C++は両方のケースでエラーを出します。MQLが1番目のケースでエラーを出さないのは、コンパイルプロセス(言語そのものではなく)が異なるためです。ありがとうございます。 A100 2017.08.29 20:05 #19796 Andrey Barinov:ありがとうございます。そこで、根拠がないように、前回のアナログを出す(自分なりに少しいじった)。#ifdef __cplusplus class B; class A { int f( B* b ) { return b->i; } //Error: E2315 int i; }; class B : public A {}; #endifと、元のメッセージに#ifdef __cplusplus class B; class A { void f() {} void g() { b->f(); } //Error: E2315 B *b; }; class B : public A {}; #endif Alexey Navoykov 2017.08.29 20:17 #19797 確認したところ、Stanislav氏のバージョンはVS 2010で正常にコンパイルできました。また、メソッドだけでなく、プライベートフィールドへのアクセスも有効です。だから、今回のA100はちょっと結論が出過ぎたかもしれない)。 A100 2017.08.29 20:20 #19798 Alexey Navoykov:確認したところ、Stanislav氏のバージョンはVS 2010で正常にコンパイルできました。また、メソッドだけでなく、プライベートフィールドへのアクセスも有効です。ということは、今回のA100の結論は間違っていたのかもしれない )https://www.mql5.com/ru/forum/1111/page1999#comment_5677254 と全く同じなのでしょうか?上記は私の選択肢です...コードをここに書き込む - もし彼が自分で書き込めないのなら Ошибки, баги, вопросы 2017.08.29www.mql5.com Форум алго-трейдеров MQL5 Alexey Navoykov 2017.08.29 20:33 #19799 A100:https://www.mql5.com/ru/forum/1111/page1999#comment_5677254 と全く同じですか?上記は私のバリエーションです。コードをここに書き込む - 自分で書き込めないのでコンパイルに使用したコンパイラは?私のVS 2010では、全く別の理由であなたのコードがコンパイルされません:Bクラスが、そのクラスのメソッドが呼び出される場所で定義されていません。そのためには、g()の定義をクラスの外に置く必要があります。そして、これこそが、スタニスラフのやったことなのだ。つまり、あなたのコードは次のようになります。class B; class A { void f() {} void g(); B *b; }; class B : public A {}; void A::g(void) { b->f(); }と入力すると、コンパイルされます。 A100 2017.08.29 20:47 #19800 Alexey Navoykov:どのようなコンパイラーでコンパイルしたのでしょうか?基本的には何も変わりません。コンパイルエラー(タブレットを使用しています。)#ifdef __cplusplus class B; class A { void f() {} void g(); B *b; }; class B : public A {}; void A::g() { b->f(); } //Error: E2247 #endif 1...197319741975197619771978197919801981198219831984198519861987...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
失礼のないように。ここで最初に異常なコミュニケーションを始めたのはあなたです。
C++でのコンパイルについてお聞きします。
この2つの節で。
この例をC++でコンパイルしてみましたか。それとも、一般的な理論上の理由ですか?
私があげたC++での作業例に対して、また
試していないなら......そのように書いてください。
私の例への返答ですが、今試してみました。
この2つの節で。
C++であげた動作例に対して、また
今試したことに対して
参考までに、もしあなたの例が両方ともC++に明確に翻訳されているならば、C++は両方のケースでエラーを出します。MQLが1番目のケースでエラーを出さないのは、コンパイルプロセス(言語そのものではなく)が異なるためです。
ありがとうございます。
ありがとうございます。
そこで、根拠がないように、前回のアナログを出す(自分なりに少しいじった)。
と、元のメッセージに
確認したところ、Stanislav氏のバージョンはVS 2010で正常にコンパイルできました。また、メソッドだけでなく、プライベートフィールドへのアクセスも有効です。だから、今回のA100はちょっと結論が出過ぎたかもしれない)。
確認したところ、Stanislav氏のバージョンはVS 2010で正常にコンパイルできました。また、メソッドだけでなく、プライベートフィールドへのアクセスも有効です。ということは、今回のA100の結論は間違っていたのかもしれない )
https://www.mql5.com/ru/forum/1111/page1999#comment_5677254 と全く同じなのでしょうか?
上記は私の選択肢です...コードをここに書き込む - もし彼が自分で書き込めないのなら
https://www.mql5.com/ru/forum/1111/page1999#comment_5677254 と全く同じですか?
上記は私のバリエーションです。コードをここに書き込む - 自分で書き込めないので
コンパイルに使用したコンパイラは?私のVS 2010では、全く別の理由であなたのコードがコンパイルされません:Bクラスが、そのクラスのメソッドが呼び出される場所で定義されていません。そのためには、g()の定義をクラスの外に置く必要があります。そして、これこそが、スタニスラフのやったことなのだ。つまり、あなたのコードは次のようになります。
と入力すると、コンパイルされます。
どのようなコンパイラーでコンパイルしたのでしょうか?
基本的には何も変わりません。コンパイルエラー(タブレットを使用しています。)