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

 

矛盾している。

struct X {
    X() : i( 1 ) {}
    const int i;
};
void OnStart()
{
    X x1[1] = {};    //(1) нормально ???
    X x2[1];
    ZeroMemory( x2 );//(2) Error: 'x2' - not allowed for objects with protected members or inheritance
}

(1)と(2)の根本的な違いは何でしょうか?

 
A100 #:

矛盾している。

(1)と(2)の根本的な違いは何でしょうか?

1は宣言時の初期化、2は(一般的には)変更です。

 
JRandomTrader #:

1は宣言時の初期化、2は(一般的な場合)修正です。

x1[0].iがゼロになりうるなら、なぜ x2[0].iはなりえないのでしょうか?どう悪くなったのでしょうか?

ここで、矛盾の簡略化した例を挙げます。

void OnStart()
{
    X x1[1] = {};    //(1) нормально ???
    X x3 = { 0 };    //(3) Error: 'x3' - cannot be initialized with initializer list
}
 
A100 #:

ここで、矛盾の簡略化した例を挙げます。

そして、もうひとつはこちら。

void OnStart()
{
    X x1[1] = {};    //(1) нормально ???
    X x2[1];
    Print( x1[0].i == x2[0].i );
}

結果:false

それに対して

 
エラー:ルーブル365₎→338Ȉ(40株)で行われた取引をソフトウェアが不可解に計算し、-1020Ȉではなく148ドルの損失を表示しました。
どなたかご存知の方、どうしたらよいかアドバイスをお願いします。
ファイル:
 

専門家によるサポート :

struct Y
  {
   int               i;
                     Y(const Y & p): i(p.i) {}
  };

void OnStart()
{
  Y y(y);               // UB?
}

UBなのか何なのか?

 
コンパイラの内部エラー
union X {
    struct XX {char i;} s;
    int i;
} x[1] = {};
void OnStart() {}
5番目は{}で
 
mktr8591 #:

UBなのか何な のか?

これはコンパイラの欠陥です。理論的には、コンパイル時にエラーが発生するはずですが、なぜならMQLでは

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

エラー、バグ、質問

A100, 2020.09.30 16:54

それは、宣言が確定した時点で変数が宣言されたものと みなすという、あなた自身の概念と矛盾しています。そもそも、なぜそれを発明したのですか?ある場合はそうで、別の場合は違うという場合

OnStartをこのように書き換えた場合。

void OnStart()
{
  Y y = y; //Error: 'y' - undeclared identifier
}
の理論に従ってコンパイラが反応します。
 
A100 #:

これはコンパイラの欠陥です。理論的には、コンパイル段階でエラーが発生するはずなのですが、MQLでは

OnStartをこのように書き換えた場合。

の場合、コンパイラは理論に従って反応します。

その通りです。

ありがとうございました。

 

パネルの優先順位を上げるために標準ライブラリを使用する方法を見つけた人はいますか?

ここにある 例のコードを参考にしました。

アニメーションでは、パネルとトレンドラインを作成してボタンの下に配置すると、ボタンのクリックがラインのクリックイベントをキャッチすることがわかります。ボタンは無視されます。

ボタンの優先順位を次のように設定してみました: m_button3.ZOrder(100) - しかし、それは役に立ちません。

また、CWnd::BringToTop()メソッドがあり、パネル全体とボタンに別々に設定しました。しかし、どのように動作させるべきか、どのように正しく呼び出すか、この優先順位を設定するかは、なかなか明確ではありません。このメソッドを呼び出す際にアンペアすると、コメントから判断してオブジェクトIDではあるがm_idは常に-1に等しいが、m_nameはオブジェクトが関与していることを示しているようだ。


どなたか解決策をお持ちの方がいらっしゃいましたら、どこを掘ればいいのかアドバイスをお願いします。