Hatalar, hatalar, sorular - sayfa 2653
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Eh, STL bire bir kaydırılmaz. Burada ayrıntılara daha yakından bakmak gerekiyor.
Sıcakla yumuşaklığı karıştırıyorsunuz.
Soru STL'de değil. Orada kendim çözeceğim ... (eğer biri değişmezse, bu prensipte bunu yapmanın mümkün olmadığı anlamına gelmez)
En kolay yol, temel sınıf veya arabirimde ve varislerde - ya uygulama ya da =delte - soyut yöntemlerle tüm olası işlevleri yazmaktır.
Bu durumda, aynı temel sınıfın türüne sahip işaretçiler veya referanslar yöntemlere iletilir.
Doğru, sanal bir masa şeklinde kaçınılmaz bir kötülük var, ama Tanrı onu kutsasın, ancak mimariyi dinamik_cast aracılığıyla hiçbir yerde pahalı dallanma olmayacak şekilde inşa etmek arzu edilir.
Önerdiğiniz yöntem daha önce uygulandı ve aynı hatayla da karşılaşıyor: https://www.mql5.com/ru/forum/1111/page2648#comment_15015191
Bir işaretçi/sınıf parametresinde örtük bir tür dönüştürme gerçekleştirildiğinde aşırı yüklenmiş işlev çağrısı önceliklerinde hata.
C++'da - her şey yolunda, ancak MQL'de - derleme hatası "aşırı yüklenmiş işleve belirsiz çağrı"
Yukarıda baypas seçeneklerinden biri önerilmiştir, ancak büyük ve kullanışlı değildir ve aynı arzu işlevinden bir düzine daha fazla kullanmanın bir yolu yoktur.
Belki daha kolay bir şey vardır?
Geliştiriciler, lütfen söyleyin, hatayı düzeltmek mi planlanıyor yoksa mimari olarak imkansız mı?
bir şablon işlevi içinde, açık bir döküm işleminin parçası olarak geçirilen işaretçi bir sınıf gibi davranır ve buna göre bir derleme hatasına neden olur:
Aptal, basit bir sorunu çözemem. Danışmanı başlatmak için aşağıdaki ayarlarla ticaretin yasak olduğunu anlamak gerekir.
Böyle bir çek yuvarlanmaz.
OrderCheck - bir toptan serçelere. Tavsiye lütfen.
ANATOLI KAZHARSKI kodu
Teşekkürler, MQL_TRADE_ALLOWED fark etmedim.
Aptal, basit bir sorunu çözemem. Danışmanı başlatmak için aşağıdaki ayarlarla ticaretin yasak olduğunu anlamak gerekir.
Böyle bir çek yuvarlanmaz.
OrderCheck - serçelerdeki bir toptan. Tavsiye lütfen.
Belki de nedeni, şablon sınıfı oluşturucu önbelleğinin çalışmasıdır.
MT5(build 2340) hatası aynı kodu iki kez kullanır: ilk geçiş başarılı bir derlemedir, ikincisi bir derleme hatasıdır .
Görünüşe göre problemler şablon fonksiyon üreteci önbelleği ile ilgili.
" void run( const T &ff) " şablon işlevi, " void run ( const T ff ) " değerine göre geçiş ile referans tarafından geçiş ile değiştirilirse hata ortadan kalkar.
Hata MT5(build 2340) Şablon işlevinin şablon parametresi için dahili sınıfa erişmeye çalışırken derleme hatası .