Hatalar, hatalar, sorular - sayfa 3062

 

Burada derleyici bir hata vermelidir:

 class A
  {
public :
   int                aa;
  };
A a;

void OnStart ()
  {
   a.aa= 999999 ;
   A b= GetPointer (a); //Переменная b не является указателем
   Print (b.aa);
  }

Komut dosyası dokuz yazdırır.

 
Aliaksandr Hryshyn :

Burada derleyici bir hata vermelidir:

Komut dosyası dokuz yazdırır.

Ve eğer öyleyse, o zaman referans işaretçisinin nesneye örtülü dökümü işe yarar.

C++'da şöyle görünür:


#ifdef __cplusplus
#define GetPointer (a)   ((A&)(a))
void OnStart ()
{
   a.aa= 999999 ;
   A b = GetPointer (b);
   Print (b.aa);
}
#endif
 
A100 :

Ve eğer öyleyse, o zaman referans işaretçisinin nesneye örtülü dökümü işe yarar.

C++'da şöyle görünür:

Çünkü OOP'ta çok iyisin. Bu konudaki fikrinizi alabilir miyim?

Bug: Const method + Copy constructor
Bug: Const method + Copy constructor
  • 2021.07.18
  • www.mql5.com
This code reproduces the bug: There are 2 workarounds for this code, you either remove the const qualifier from the method foo or create a temporar...
 
fxsaber :

Uzak makine tarafından bu ancak bir süre sonra oldu. Ondan önce her şey düzgün çalışıyordu. İşletim sisteminde hiçbir şeyi değiştirdiğimi hatırlayamıyorum.

Benzer bir şey hatırlıyorum. Belki de RDP bağlantısıyla bağlantılıdır.

Ve Alt+Tab ile pencereler arasında geçiş yapmak yardımcı oldu.

 
Andrey Khatimlianskii :

Benzer bir şey hatırlıyorum. Belki de RDP bağlantısıyla bağlantılıdır.

Ve Alt+Tab ile pencereler arasında geçiş yapmak yardımcı oldu.

Ne yazık ki, yardımcı olmadı. Alert'i kapatana kadar terminal görünmez.

 
Alain Verleyen :

Çünkü OOP'ta çok iyisin. Bu konudaki fikrinizi alabilir miyim?

C++'da her şey hatasız derlenir, const (3) olmadan MQL'de de derlenir, bu da MQL'de bir yerde bir hata olduğu anlamına gelir

 class C {
public :
    C()           { Print ( 1 ); }  
    C( const C& ) { Print ( 2 ); }
    C h()         { Print ( 3 ); return C(); }     //(3) нормально
    C f() const    { Print ( 4 ); return C(); }     //(4) ошибка при компиляции
    C g() const    { Print ( 5 ); C c; return c; } //(5) замена (4)
};
void OnStart ()
{
    C c;
    c.f();
}

Öte yandan, (4) derlenmiş olsa bile, çağrı sırası yine de farklı olacaktır:

MQL'de: 1-4-1-2

C++'da: 1-4-1

bu nedenle her durumda seçenek (5)'i kullanmak daha doğrudur

 
A100 :

C++'da her şey hatasız derlenir, const (3) olmadan MQL'de de derlenir, bu da MQL'de bir yerde bir hata olduğu anlamına gelir

Öte yandan, (4) derlenmiş olsa bile, çağrı sırası yine de farklı olacaktır:

MQL'de: 1-4-1-2

C++'da: 1-4-1

bu nedenle her durumda seçenek (5)'i kullanmak daha doğrudur

Teşekkürler :-)
 

Kahretsin, hala anlamıyorum, söyle bana iyi insanlar:

İyi bir anda Metaeditor'daki tüm açık dosyaların uçmaması için ne yapılması gerekiyor?

metaeditor.ini el ile yedekleme veya başka bir şey? gerçekten.

Kapattıktan / açtıktan sonra bile değil, tam açıkta, her şey aniden uçtu. Nedeni açık değil.

 
Aleksey Mavrin :

Kahretsin, hala anlamıyorum, söyle bana iyi insanlar:

İyi bir anda Metaeditor'daki tüm açık dosyaların uçmaması için ne yapılması gerekiyor?

metaeditor.ini el ile yedekleme veya başka bir şey? gerçekten.

Kapattıktan / açtıktan sonra bile değil, tam açıkta, her şey aniden uçtu. Nedeni açık değil.

Benim için çökmüyor, taşınabilir bir sürüm olarak kullanıyorum.
 

Bir müşteri var. Onun için bir iş yaptım. Benimle daha çok çalışmak istiyordu. Bir iş yarattı. Bunu çözemedim veya bir spesifikasyon eklemeniz gereken bir adımı kaybetti.

İşi sildi. Kurallara göre, yalnızca bir iş oluşturabilirsiniz. Oluşturamıyor, başka bir hesap oluşturmak istiyor. (Bunu yapmamasını tavsiye ettim ve desteğe kendim ulaşmaya çalışacağımı yazdım)

Burada değil peşin ödemeyi teklif etti, ben de reddettim. Üçüncü bir tarafa adil olmadığı için (MKL)

Lütfen burada bir iş yaratmasına izin verin.

Nedense doğru değil. İşin bedelini ödemeye hazır bir kişi var, onu tamamlamayı ve komisyon ödemeyi kabul eden bir icracı var. İşlem durduruldu.

https://www.mql5.com/en/users/mbende/feedbacks