Hatalar, hatalar, sorular - sayfa 1654
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Grafikler kapatıldığında sembolün gizlenmediğini mi söylemek istiyorsunuz?
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ı.
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
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ı.
İ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.
İyi bir hafızan var
Ve Borland boş yere uyarı vermiyor, bu da benim argümanlarımı bir kez daha doğruluyor.
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.
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ü.
Ve bu şakayı nasıl seversin?
Ve bu şakayı nasıl seversin?