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

 

なぜmql5はセマンティクスを移動させるのですか?特に仮想マシンなので、そのような性能の最適化は必要ないのです。他に何のために必要なんだ?)

mql5単体では、C++はもちろん、C++98とも、さらにC++11/14/17とも 大きく異なりますが、その機能は EAを作る ために必要なものを完全にカバーすることができるようになったのです。

 
Andrey Pogoreltsev:

が、その機能はEAを作る ために必要なものを完全にカバーするようになりました。

6年前の古いMQL4でも、その必要性はカバーされていましたし、当時の言語のレベルをご存知でしょうか。 私たちはそれでEAを書いていましたし、今でもその古風なスタイルでコーディングしている人もいます。 つまり、すべては相対的なものなのです。

他にどんな目的で導入するのでしょうか)

このことは、このスレッドの最後の数ページに渡って議論されてきました。
 

ここでエラーになります。

void OnStart()
  {
   struct sA
     {
      int               ii[51];
     };
   struct sB
     {
      string            name;
      sA                distrib;
     };
   sB f;
  }
'distrib' - struct undefined    Test2.mq5       21      25

こうはいきません。

void OnStart()
  {
   struct sA
     {
      int               ii[51];
     };
   struct sB
     {
      //string            name;
      sA                distrib;
     };
   sB f;
  }

これもダメなんです。

struct sA
  {
   int               ii[51];
  };
struct sB
  {
   string            name;
   sA                distrib;
  };

void OnStart()
  {
   sB f;
  }

エラーを再現するためのスクリプトを添付します。空のスクリプトに上記のようなコードを数行記述したものです。

ファイル:
Test2.mq5  1 kb
 

それじゃ、全然意味がないじゃないですか。

class A
  {
   class B
     {
      class C
        {
         class D
           {
            class E
              {
               bool              YES;
              };
           };
        };
     };
  };
void OnStart()
  {
   E g;
  }

Eクラスは人気があるに値しない。

エラーもなくコンパイルされます。

 
コンパイラーエラーでしょうか?
class A
{
private:
  int i;
};

class B : public A
{
public:  
  void f( int i ) {} // declaration of 'i' hides member declaration at line 4
};
 
fxsaber:
コンパイラーエラーでしょうか?
もしかして、フォーマッターのくだらないおしゃべりが、真剣な仕事の邪魔をしているのでしょうか?
 
fxsaber:
コンパイラーエラーでしょうか?
プラスアルファで同じこと
 
Vict:
もしかしたら、迷惑なフォームチャニストがくだらない話をしていて、真剣な話から目を逸らしているのでは?

その時、彼の熱狂の中にいる私に教えてくれる?

 
fxsaber:
コンパイラーエラーでしょうか?

なんだか、理屈っぽいですね。

パブリック関数の入力パラメータをプライベートにするにはどうすればよいのでしょうか。利益相反

このプライベートパラメータをこの関数内で使用する場合、すでに存在しているので、入力として宣言する必要はありません。

もし、別の変数にするのであれば、当然、既存のプライベート変数と関数内で名前の衝突が起こるので、別の名前で呼び出す必要があります。


ZS iパブリックかプライベートかは関係ないことがわかりました。些細な名前の衝突です。関数fの内部では、iが入力パラメータなのか、親クラスのグローバル変数 なのかが不明確です。

 
Nikolai Semko:

の質問では、プライバシーのためにメンバーにアクセスできないことを暗示していましたが、コンパイラによって名前の衝突が表示されたままです。

と書きましたが、プラスは全く同じ挙動、つまりコンパイラのエラーもなく、すべて順調です。