Hatalar, hatalar, sorular - sayfa 3106

 

çelişki:

 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
}

Ve (1) ve (2) arasındaki temel fark nedir?

 
A100 # :

çelişki:

Ve (1) ve (2) arasındaki temel fark nedir?

1 - bildirimde başlatma, 2 - (genellikle) değişiklik.

 
JRandomTrader # :

1 - bildirimde başlatma, 2 - (genellikle) değişiklik.

x1[0].i sıfır olabiliyorsa, neden x2[0].i olamıyor? Neden daha kötü?

İşte basitleştirilmiş bir çelişki örneği:

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

İşte basitleştirilmiş bir çelişki örneği:

Ve bir tane daha:

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

sonuç: yanlış

Aslında buna rağmen:

 
Hata: program, 365₽->338₽ (40 hisse) ruble cinsinden yapılan bir anlaşmayı nasıl hesapladığını anlamadı ve -1020₽ yerine 148$'lık bir kayıp gösterdi.
Birisi biliyorsa, bana ne yapılabileceğini söyle
Dosyalar:
 

Uzmanlardan yardım isteyin:

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

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

UB mi yoksa ne?

 
Derleme sırasında hata (Dahili derleyici hatası)
 union X {
     struct XX { char i;} s;
     int i;
} x[ 1 ] = {};
void OnStart () {}
{} ile 5.
 
mktr8591 # :

UB mi yoksa ne ?

Bu bir derleyici hatasıdır - teorik olarak derleme aşamasında bir hata olmalıdır, çünkü MQL'de

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

A100 , 2020.09.30 16:54

O zaman, bir değişkenin bildirimin tamamlandığı andan itibaren bildirilmiş olarak kabul edilmesi sizin kendi konseptinizle çelişir. O zaman neden icat ettin? Bir durumda ve diğerinde - farklıysa

OnStart'ı şu şekilde yeniden yazarsanız:

 void OnStart ()
{
  Y y = y; //Error: 'y' - undeclared identifier
}
daha sonra derleyici teoriye göre tepki verir
 
A100 # :

Bu bir derleyici hatasıdır - teorik olarak derleme aşamasında bir hata olmalıdır, çünkü MQL'de

OnStart'ı şu şekilde yeniden yazarsanız:

daha sonra derleyici teoriye göre tepki verir

Aynen öyle.

Teşekkür ederim!

 

Standart kitaplığı kullanarak bir panelin önceliğini nasıl artıracağını çözen var mı?

Kodu buradaki örnekten aldım .

Animasyon, bir panel ve ardından bir trend çizgisi oluşturup bunu düğmenin altına getirirseniz, düğmeye basıldığında çizgi için tıklama olaylarını yakalayacağını gösterir. Düğme yoksayılır.

Düğme için önceliği şu şekilde ayarlamaya çalıştım: m_button3.ZOrder(100) - ama yardımcı olmuyor.

Ayrıca tüm panel için ve düğme için ayrı olarak ayarlanmış CWnd::BringToTop() yöntemi de vardır. Ancak nasıl çalışması gerektiği, bu önceliğin nasıl düzgün bir şekilde çağrılacağı ve ayarlanacağı tamamen açık değildir. Bu yöntem çağrılırken çıktı, m_id'nin her zaman -1 olduğunu gösterir, ancak yoruma bakılırsa bu, nesnenin kimliği olmasına rağmen, ancak m_name, nesnenin dahil olduğunu gösteriyor gibi görünmektedir.


Birinin bir çözümü varsa, bana nerede kazacağımı söyle.