Hatalar, hatalar, sorular - sayfa 1966

 
A100 :
Yöntemi sınıftan çıkarma yeteneğinin uygun olduğunu kastetmiştim.

Evet, böyle acı çekiyorsun, acı çekiyorsun ve sonra bazı sırları bilmek zorunda olduğun ortaya çıkıyor)

Belki de şablon sınıflarında uzmanlıkları vardır? akıllıca bir şekilde. Ve sonra servis masasında uzun zamandır bununla ilgili bir şey soruyorum ama sessizler. Sırları da olmalı. enjekte)

 
Alexey Navoykov :

Belki de şablon sınıflarında uzmanlıkları vardır?

Çok uzun zaman önce!

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

fxsaber , 2017.08.16 13:19

 typedef void (*fn)();

template < typename T>
void g( T Value ) { Print ( typename (Value)); }
void f() {}

void g( fn Value ) { Print ( typename (Value)); }
void OnStart ()
{
        g( f ); // void(*fn)()
}

Yoksa başka bir şey mi kastedilmektedir?


ZY Bulundu .

 
fxsaber :

Çok uzun zaman önce!

Yoksa başka bir şey mi kastedilmektedir?

ZY Bulundu .

Hayır, işlevlerden değil, sınıf şablonlarından bahsediyordum.

Bu arada, işlev şablonlarının uzmanlaşması henüz gerçek anlamda uygulanmadı. Bağlantınıza göre nedense "uzmanlık" demeleri aslında tamamen farklı. Ve şimdi sadece belirli türlerle aşırı yükleme olasılığı var. Aslında, bu neredeyse uzmanlıkla aynıdır, tek fark, tüm aşırı yüklenmiş işlevlerin imzasının kimliği üzerinde derleyici denetiminin olmamasıdır. Ve bu, işlevler kodda farklı yerlerde bulunduğunda gereklidir.

 
A100 :

Çok daha uygun.

Uzmanlık yokluğunda
 
Alexey Navoykov :

Bu arada, işlev şablonlarının uzmanlaşması henüz gerçek anlamda uygulanmadı. Bağlantınıza göre nedense "uzmanlık" demeleri aslında tamamen farklı. Ve şimdi sadece belirli türlerle aşırı yükleme olasılığı var. Aslında, bu neredeyse uzmanlıkla aynıdır, tek fark, tüm aşırı yüklenmiş işlevlerin imzasının kimliği üzerinde derleyici denetiminin olmamasıdır. Ve bu, işlevler kodda farklı yerlerde bulunduğunda gereklidir.

Örnek olmadan anlamıyorum.

 
fxsaber :

Örnek olmadan anlamıyorum.

Hatta orada "neredeyse aynı" diyerek abarttım. Farklılıklar önemlidir, çünkü yalnızcaişlev bağımsız değişkenleri aşırı yüklenebilir ve bağımsız değişkenlerle ilgili olmayan diğer tür adları şablonda bulunabilir. Ve sadece uzmanlaşabilirler. İşte hiçbir argüman içermeyen örnek bir şablon:

 template < typename T>
void f() { }

template <>
void f< int >() { }
 
Alexey Navoykov :
Tartışmasız uzmanlaşma? )) Hangi konuda uzmanlaşacaksınız?
 
Комбинатор :
Tartışmasız uzmanlaşma? )) Hangi konuda uzmanlaşacaksınız?
Peki, çözeceğiniz bir fonksiyon gövdesinde . Ve bu nedir? Bu ihtiyacı sık sık yaşıyorum. Çok zor olan hayali bir parametrenin transferinden çıkmak zorundayız.
 
Alexey Navoykov :
Ve bu nedir?
Derlemek ve çalıştırmak için profesyonellerde ortaya çıkarsa sorun değil)
 

Derlemeyi 1650'ye yükselttikten hemen sonra, Navigator\Favorites'tan grafiğe derlenmemiş bir Draw Expert Advisor sürüklerken, MQL5 yazmak yerine 'Draw.ex5' dosyasını açamıyor -> başka bir Expert Advisor, yani ExpertMACD başlatılıyor

Draw'ın derlenmesi tamamlandıktan sonra her şey düzeltildi, ancak gerçek

Ekleyeceğim: Durum tekrar ediyor - Derlenmemiş herhangi bir Expert Advisor yerine ExpertMACD başlatıldı