Hatalar, hatalar, sorular - sayfa 2871

 
A100 :

Çıktı tam olarak bir dize değişmezi olacaktır. İşte hiç baskı olmadığının kanıtı:

Derleyici uyarısına inanmıyorum!

'+' bir dize değil! Bu, mql ushort 2 bayt cinsinden bir karakter türüdür

Nokta.

Aksine, uyarının açıklamasında bir hatadır.

 
Roman :

Derleyici uyarısına inanmıyorum!
'' bir dize değil ! bu bir karakter tipi!

Aksine, uyarının açıklamasında bir hatadır.

Bu bir inanç ve varsayım sorunu değil - kanıt gerekli: typename öğesinin dize olmayan bir değişmez değer döndürdüğünü kanıtlayan baskı içermeyen bir örnek var mı? ne zaman devam edeceğiz

 
A100 :

Bu bir inanç ve varsayım meselesi değildir - kanıt gereklidir: döndürülen bir dize değişmezi olmadığını kanıtlayan bir baskı içermeyen bir örnek var mı? ne zaman devam edeceğiz

typename aynı adı döndürse de, bu nedenle bir dize olarak döner
belki öyle ama ne fark eder?  
Türün adını aldık ve anladık. Bana neyi kanıtlamak istediğini anlamıyorum?
Ne tür adı döndürür   string yazın , bu mantıklı, adı döndürür.
Tip isminin döndüğünü yani tipin harflerle yazıldığını kastetmiştim))
Ne türde döndüğünü hiç düşünmedim ve sen ona bağlandın.
Genel olarak, holivar hiçbir şey değildir.
 
Roman :
typename aynı adı döndürse de, bu nedenle bir dize olarak döner
belki öyle ama ne fark eder?  

Görünen o ki inkar aşamasını geçmişsiniz... farkındalık aşaması başlıyor. seni rahatsız etmeyeceğim

 
A100 :

Görünen o ki inkar aşamasını geçmişsiniz... farkındalık aşaması başlıyor. seni rahatsız etmeyeceğim

Bir kez daha türün kendisinin döndürüldüğünü iddia etmedim, türün ADI'nın döndürüldüğünü savundum.
Ne tür bir NAME döndürülür, görüşmemizde hiç düşünmedim.
Bu nedenle, farkındalık aşamasının bununla hiçbir ilgisi yoktur ve bu nedenle, bir dize ise, adın bir dize olduğu açıktır.
Ama aynı zamanda mql ushort da var, tamam değil, bu yüzden burada 12 baytlık bir dizgenin typename'ye doldurulacağından şüpheliydim.
Türün kendisi geri dönerse, tamamen uçup giderdi))
Değişkenleri anında tanımlamak mümkün olacaktır))
Bunun derlenmiş bir programda mümkün olup olmadığını bilmiyorum, aslında normal bellek tahsisi .

 
A100 :

Bu soyut dillerde, ancak MQL soyutlukla çalışmadı - sözde bu hız ile birleştirilemez

Dize türü için 12 baytın uygun olup olmadığını kontrol etmek için başka bir seçenek

 Print ( sizeof ( typename ()));
 
Roman :

Dize türü için 12 baytın uygun olup olmadığını kontrol etmek için başka bir seçenek

Ayrıca, Belgelerde her şeyin doğru yazıldığı anlamına gelir (ancak bu aynı zamanda dolaylı bir kanıttır)

 
Ve yine de sistemi aldattım

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

Hatalar, hatalar, sorular

A100 , 2020.10.09 00:38

Derleme sırasında hata:
 void OnStart ()
{
    Print(typename("ushort"));      //(1) нормально
     Print ( typename ( typename ( '+' ))); //(2) Error: 'typename' - unexpected token
}

Çift tipadı

 template < typename T>
T f( T ) { return typename (T); }
void OnStart ()
{
         Print (f( typename ( '+' )));
}

sonuç: dize

Onlar. zaten doğrudan kanıt, dolaylı değil
 
A100 :

Ayrıca, Dokümantasyonda her şeyin doğru yazıldığı anlamına gelir.

Evet, şablonların belgelerinde her şey doğru bir şekilde açıklanmıştır.
typename şablonlar için keskinleştirilmiştir, bu nedenle bir dize türü döndürür
Sadece başlangıçta ne yazdığımı anlamadın, TYPE adının değil NAME türünün döndürüldüğünü ))
Ve döndürülen dize için bana bu İSİM'i açıklamaya başladın))
Kafamı karıştırdılar ve şüphelendim ve ushort'un geri dönebileceğini düşündüm.
Ama hayır, ip hala duruyor.

 
Roman :

Tabii ki benim hatam, belgeleri okumuyorum ve böyle bir giriş buldum

( typename )J

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

Hatalar, hatalar, sorular

Roma , 2020.10.07 17:20

Evet, bu da bir derleme hatasıdır .

 #define J '+'            // char

void OnStart ()
{
     Print (( typename )J);
}
 #define J '+'            // char

void OnStart ()
{
     Print (( typename )(J));
}