Hatalar, hatalar, sorular - sayfa 1654

 
Alexey Viktorov :
Grafikler kapatıldığında sembolün gizlenmediğini mi söylemek istiyorsunuz?
Alexey Viktorov:
Grafikler kapatıldığında sembolün gizlenmediğini mi söylemek istiyorsunuz?

Evet. Birkaç kez zaten böyle bir byaka ile karşı karşıya kaldı.

 
Vitalii Ananev :

Yine de hata mesajı doğru.

İlk başta buna pek önem vermedim ama tekrar karşılaştığımda bunun doğru olmadığı yönünde tartışmalar çıktı. Ve işte nedeni: daha fazla koşullu kod

 int f()
{
         while ( true )
        {
//много строк c return, continue, без break
                 return 0 ;
//много строк c return, continue, без break
                 return 1 ;
//много строк c return, continue, без break
        }
         return Random(); //(*) написано по требованию MQL компилятора //строка 61
}

while(true) {}'den sonra ne yazılacağının mantığı şuna indirgenir: "Zaten orada olmayacağız... dönüş sadece resmi olarak gereklidir - derleyicinin Tamam demesi için... o zaman - oraya rastgele bir değer koyun - Random() döndür;"

Bir süre sonra kodda değişiklik yapıyoruz ve bu süre içinde bir ara vermek gerekli hale geliyor.
Bu durumda derleyici şunu söyleyecektir: "Tamam: Evet, her şey yolunda. while(true) {}'den sonra aynı yerde kod var - bu, kırılma durumunun daha önce sağlandığı ve muhtemelen aralarında aynı kesinti olduğu anlamına gelir. bu satır kümesi. Tüm dönüş değerleri zaten daha fazla düşünülmüş O zaman endişelenme!"
Ve sonunda rastgele bir değer elde ederiz .

Ve başlangıçta bir satır (*) yoksa, derleyici şöyle derdi: "Hata: Hayır ... bu işe yaramaz ... daha önce ara yoktu ve bilinçli bir şey döndürmeniz gerekiyor"

(*) satırının sadece gereksiz olmadığı, aynı zamanda ince hataların olasılığını da arttırdığı ortaya çıktı.

 
A100 :

İlk başta buna hiç önem vermedim, ancak tekrar karşılaştığımda, bunun doğru olmadığına dair argümanlar ortaya çıktı ...

Üstelik bu örneğinizde, iyi bir şekilde, "ulaşılamaz kod" uyarısı vermeniz gerekiyor. Stüdyo da böyle bir uyarı vermiyor, ancak Borland derleyicisinin yaptığını hatırlıyorum.
 
Sergei Vladimirov :
Üstelik bu örneğinizde, iyi bir şekilde, "ulaşılamaz kod" uyarısı vermeniz gerekiyor. Stüdyo da böyle bir uyarı vermiyor, ancak Borland derleyicisinin yaptığını hatırlıyorum.

İyi bir hafızan var

Ve Borland boş yere uyarı vermiyor, bu da benim argümanlarımı bir kez daha doğruluyor.

 
A100 :

Ve Borland boş yere uyarı vermiyor...

Ve seninle aynı fikirde olmadığım yer burası. :) Benim için bu önemsiz, dikkate değer değil. Geriye (0) takıldılar ve işin sonu bu.

Ayrıca, MCL'de while(true) yerine her zaman while(! IsStopped() ) kullanmak daha iyidir ve bu durumda döngüden sonraki dönüş zorunludur.

 
Bulut (yalnızca değil) optimizasyonuyla ilgili başka sorun yaşayan var mı, yoksa bu benim için son derece "şanslı" mıydı ve yeni MT5 yapısıyla çalışmayı durdurdu mu?
 
Editörümde, noktadan sonra mevcut yöntemler listesi düşmüyor. Benim için çok uygunsuz. Nasıl düzeltilir? Eski sürümde liste düştü.
 
vinnipyx :
Editörümde, noktadan sonra mevcut yöntemler listesi düşmüyor. Benim için çok uygunsuz. Nasıl düzeltilir? Eski sürümde liste düştü.
Aynı sorun. Hafızadan yazmaya başlamam gerekiyor ve birkaç harften sonra düşüyor, ancak sadece bu harflerle başlıyor.
Uygun olmadığı için korku.
 

Ve bu şakayı nasıl seversin?

 
Vladimir Pastushak :

Ve bu şakayı nasıl seversin?

belki bir yapı kurucusudur? o zaten orada