Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
ME5, derleme sırasında bence haklı olmayan bir hata üretiyor.
Aslında RadioButtons'a eşdeğer olan ENUM_XXX formunun önceden tanımlanmış numaralandırmalarının 1'den numaralandırılmasını istiyorum, şimdi ise bunlar varsayılan olarak numaralandırılmıştır, yani. 0'dan. Soru, varsayılanları değiştirmekle ilgili değil, bunun yerine değiştirmekle ilgili.
Öyleydi
Gerekçe aşağıdaki gibidir - bir örnek:
Kodun bir yerinde request.type değerini analiz ettiğimde, 0'a eşitse, başlatılmamış mı yoksa başlatılmış mı olduğunu anlamak imkansız.
request.type = ORDER_TYPE_BUY;
Bu, RadioButton'a eşdeğer ENUM_ XXX gibi önceden tanımlanmış enumların çoğuyla ilgili durumdur ve mevcut durumda doğru işleme için kodun haksız karmaşıklığı gereklidir.
Ve önceden tanımlanmış bir numaralandırmanın ilk üyesi olarak belirli bir tarafsız tanımlayıcıyı reçete etmenizi engelleyen nedir? Örneğin:
"Sıfırdan numaralandırmayı" koruyacağız ve başlatılmamış değişkenler kolayca hesaplanabilir.
Ve önceden tanımlanmış bir numaralandırmanın ilk üyesi olarak belirli bir tarafsız tanımlayıcıyı reçete etmenizi engelleyen nedir? Örneğin:
Ve gerisini düşünürseniz, orijinal numaralandırma setini zaten kim kullanıyor? Bu, tüm sunucu kompleksinin şaşkın görünümünden bahsetmiyor.
Genel olarak, soru yanlış sorulmuştur. Geliştirici tembel olmamalı ve dünyanın geri kalanını bu dünyanın kendi kendini yok etmesiyle kendisine uyum sağlamaya zorlamamalıdır.
Peki, tekrar düşünelim, "gerisi hakkında". Adlandırılmış sabit tanımlayıcılar neden tanıtılıyor? - Bu aynı tanımlayıcıları kullanmak için doğru. Ayrıca, bu tanımlayıcıları kullanmak için, numaralandırma üyelerine hangi belirli değerlerin atandığını bilmek kesinlikle gerekli değildir. Yoksa yetkin programcıların tanımlayıcılar kullanmak yerine , numaralandırma üyelerinin varsayılan değerlerini bulduklarını ve ardından bu varsayılan değerlere göre kontroller yaptıklarını mı varsayıyorsunuz?
Onlar. Anladığım kadarıyla teklifin kendisini uygulamak zor değil mi?
Evet, aslında bu konunun yazarı tembelliği yüzünden bir başkasının dünyasını yok etmeyecekti. Ve sadece iyileştirme için özel bir öneride bulundum. Ve sıfır değerinin aşırı yüklendiğini açıkladı.
Kapsamın en az bir sınıf olduğu enum tarafından adlandırılan öğelerin adlarını tanıtmak istiyorum,
Sınıfların Gerekçesi: Beklenmedik bir şekilde kitaplık (üçüncü taraf dahil) ve/veya önceden tanımlanmış olanlarla çakışabilecek benzersiz bir ad bulmanız gerekir. Ek olarak, SL, TP, PRICE, vb. numaralandırmalarının benzer adlarını birkaç sınıfta aynı anda kullanmak mümkün olacaktır. çatışma korkusu olmadan.
İşlevlerin gerekçesi: kritik değil, aynı zamanda
enum kapsamı adlı öğelerin adlarını tanıtmak istiyorum
Sınıfların Gerekçesi: Beklenmedik bir şekilde bir kitaplık ve/veya önceden tanımlanmış bir kitaplık ile çakışabilecek benzersiz bir ad bulmanız gerekir. Ek olarak, SL, TP, PRICE, vb. numaralandırmalarının benzer adlarını birkaç sınıfta aynı anda kullanmak mümkün olacaktır. çatışma korkusu olmadan.
İşlevlerin gerekçesi: kritik değil, aynı zamanda
C++'da buna ne dersiniz?
oradan bacaklar bir paradoks, ama ancak şimdi (kısıtlamalar olduğunda) neden her şeyin orada yapıldığını anlamaya başladım :)
Tabii ki onsuz da yapabilirsiniz - tüm sınıflar için yazmak benzersiz bir addır, ancak büyük programlar için ve dahası genel kullanıma yönelik kitaplıklar için - bir seçenek değil
Bunu deneyin ("başlatma" için):
YANLIŞ DEĞER
Bir sabit, dolaylı olarak herhangi bir enum türüne dönüştürülebilir.
-1