エラー、バグ、質問 - ページ 1979

 
Andrey Barinov:
ありがとうございます。ドキュメントでは遭遇したことがない。ご指摘いただけますか?
このルールは、彼自身が考え出したものだ。ドキュメントにはこう書かれている。

したがって、testfunc() は cA:: メソッドからのみアクセス可能であり、この場合は cA::test() からアクセスすることになります。

 
A100:
また、この例をC++でコンパイルしてみましたか-それとも一般的な理論上の推論でしょうか?

リンクをたどってみましたか?そこでは、コンパイルだけでなく、例の実行も正常に行えます。

 
Stanislav Korotky:

リンクをたどってみましたか?そこでは、コンパイルだけでなく、例の実行も正常に行えます。

では、なぜそのようなコードが機能しないのでしょうか?

class cA;
class cB;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class cA
  {
private:
   int               m_var;
   int               m_func(void){return(this.m_var);}
public:
   void test(cB &b)
     {
      this.m_var=b.m_var;      // (1) 'm_var' - private member access error
       
      this.m_var=b.m_func();   // (2)  => norm
     }
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class cB : public cA
  {
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   cA A;
   cB B;

   A.test(&B);
//---
   return(INIT_SUCCEEDED);
  }


(1)と(2)に違いはないと思うのですが。

 
Stanislav Korotky:

リンクをたどってみましたか?そこでは、コンパイルするだけでなく、サンプルを正常に実行することができます。

上記の具体的なコードについて説明します。試していない人は、ただ書くだけでいい。
 
Andrey Barinov:

では、なぜこのコードは動作しないのでしょうか?

さて、2番目の理論家は、最初の理論に劣らず曖昧な、もう一つのルールを与えます。

コードを極限まで簡略化することを提案する

 
A100:
上記の具体的なコードについては、現在検討中です。試していない人は、そう書けばいいのです

これは、上記のコードをC++の構文に合わせて調整したもので、実際にはプライベートメンバーアクセスの議論の文脈で1対1のままですが、このコードは動作します。なぜMQLで動くのか、という疑問に対する答えでした。他に必要なものはありますか?他に何を試せというのですか?自分で無意味なことを書くな。

 
Stanislav Korotky:

C++の構文に手を加えたのが上記のコードで、実際、プライベートメンバーアクセスの議論の文脈では1対1のままだったのですが、そのコードが動作するようになりました。なぜMQLで動くのか、という疑問に対する答えでした。他に必要なものはありますか?他に何を試せというのですか?自分で無意味なことを書くな。

ここに投稿して、その時どう直したか比較しましょう(私は左のサイトのリンクは見に行きません)。普通にコミュニケーションする方法を知らない人は、(でたらめなことを)書かないでください。

 
Andrey Barinov:

では、なぜこのコードは動作しないのでしょうか?


(1)と(2)に違いはないと思うのですが。

これはMQLのバグです。C++で 動作します。サービスデスクに書き込む。

 
Stanislav Korotky:

これはMQLのバグです。C++では動作 します。サービスデスクに手紙を出す。

了解です、ありがとうございます

ただ、2つ目の例では面白いですね。cBはm_varとm_funcについて何も知らないし、それらはcB自身から利用できない(つまり、cB自身の内部から呼び出すことはできない)、一方で他のオブジェクトから呼び出すことはできる...。
 
A100:

ここに投稿して、あなたがどう手を加えたか比較してみましょう(私は左翼サイトのリンクは追いません)。もし、あなたが普通にコミュニケーションする方法を知らないのであれば、(つまり、でたらめなことを)書かないでください。

失礼のないように。ここで初めて異常なコミュニケーションをとることになる。

インターネット全体が左翼的なサイトで構成されている。どのように使うのですか?

この特定のサイトとそのような他の多くは、大幅にプログラマの生活を簡素化する(彼らはスニペット、http -要求、マッピングサイトなどを確認することができます) - それらを扱う方法は皆に任されている - を望んでいない使用しないが、この主張のために他のを使用しないでください。