Hatalar, hatalar, sorular - sayfa 1662

 
fxsaber :

Neden birdenbire uyarı veriyorsun?

uchar ile bu işlevin aşırı yüklenmesi yoktur. Sadece char var. Bu yüzden sabitin 127'den büyük olduğu konusunda uyarır.
 
Sergei Vladimirov :
uchar ile bu işlevin aşırı yüklenmesi yoktur. Sadece char var. Bu yüzden sabitin 127'den büyük olduğu konusunda uyarır.
O zaman neden hiç hata yok? Sonuçta, uchar dizileri için aşırı yüklenme yoktur (eğer yardım yalan söylemiyorsa).
 
Alexey Viktorov :

Gerçeğe yakın ancak yanlış verilere göre sayılan değerleri gösteriyorsa hamamböceklerinin test cihazında veya görselleştiricide değil mql5'te olduğu ortaya çıkıyor.

Genel olarak, katılımınız için teşekkürler, sorunu uzun vadede yeneceğim. Ve bugün para biriminin benzer başka bir bölümünde kontrol edeceğim . Belki bu, buradaki kenelerde bir sorundur, xs?

Kontrol. Her şey normal kabul edilir. Görünüşe göre, hikayenin belirli bir yerinde kenelerin neslinde hamamböceği.
 
fxsaber :
O zaman neden hiç hata yok? Sonuçta, uchar dizileri için aşırı yüklenme yoktur (eğer yardım yalan söylemiyorsa).
Ve bu doğru soru.
 
fxsaber :
O zaman neden hiç hata yok? Sonuçta, uchar dizileri için aşırı yüklenme yoktur (eğer yardım yalan söylemiyorsa).
Görünüşe göre diziler aynı olduğu için. char ve uchar arasındaki fark sadece derleyicinin yorumundadır. Aslında orada bir uyarı olmaması gerekir, çünkü aslında hiçbir şey kesilmez, emin olabilirsiniz.
 
Alexey Navoykov :
Görünüşe göre diziler aynı olduğu için. char ve uchar arasındaki fark sadece derleyicinin yorumundadır. Aslında orada bir uyarı olmaması gerekir, çünkü aslında hiçbir şey kesilmez, emin olabilirsiniz.
Bayt bayt kopyalanır. Yani tüm imzalı <-> imzasız.
 
A100 :

Ama bu (ve typedef'li öncekiler) - yol boyunca tanımlanan hatalar - kaynak programda aynı imzaya sahip bir typedef olmadığı için henüz ana hatayı bulamadım (bu örnekte olduğu gibi).

Yürütme sırasında bir hata ile orijinal programa yakın bir test komut dosyası oluşturmak mümkün oldu

 //Script1.mq5
typedef int (*GTW)( uint , uint , int );
#import "Script2.ex5"
         void f( GTW );
#import "Script3.ex5"
         int g( uint , uint , int );
#import
void OnStart () { f( g ); }
//Script2.mq5
#property library
typedef int (*GTW)( uint , uint , int );
void f( GTW ff ) export { ff( 0x1 , 0x1 , 0 ); }
//Script3.mq5
#property library
int g( uint , uint , int ) export
{
         Print ( __FUNCSIG__ );
         return 0 ;
}

Sonuç: 'Script2.mq5' içinde geçersiz işlev işaretçisi çağrısı

Ve şimdi püf noktası... - tüm dosyalarda GTW'yi GT ile değiştirin ve sonucu kontrol edin!?!

 

Lütfen bana böyle bir işlevin nasıl yeniden yazılacağının sözdizimini söyle

 MqlTick Func()
{
   MqlTick Tick = { 0 };
  
   return (Tick);
}

böyle bir şeye

 MqlTick Func()
{
   return ( MqlTick ( 0 ));
}

ya da böyle

 MqlTick Func()
{
   return ( new MqlTick );
}

Onlar. ayrı bir parça olarak iade edilmesi gereken bir yapının oluşturulmasını öngörmeyin.

 

Son zamanlarda (yaklaşık bir ay) 'İş' hizmetinin projelerinin tartışılmasında, alıntılar ve resimlerle boktan bir metin bulutu yazdıktan sonra, hepsini gönderdikten sonra ... delik #403


Formun yeniden gönderilmemesi yardımcı olur - sayfayı yeniden yükledikten sonra her şeyi yeniden yazmanız gerekir

Sevgili editörler, lütfen açıklayın, şimdi kullanıcıların yararına ne tür yeni bir devrim ortaya çıktı ve bundan nasıl kaçınılır?
 
Alexander Puzanov :

Son zamanlarda (yaklaşık bir ay) 'İş' hizmetinin projelerinin tartışılmasında, alıntılar ve resimlerle boktan bir metin bulutu yazdıktan sonra, hepsini gönderdikten sonra ... delik #403


Formun yeniden gönderilmemesi yardımcı olur - sayfayı yeniden yükledikten sonra her şeyi yeniden yazmanız gerekir

Sevgili editörler, lütfen açıklayın, şimdi kullanıcıların yararına ne tür yeni bir devrim ortaya çıktı ve bundan nasıl kaçınılır?
Düzenleyicinin sol üst köşesinde, büyük bir mesaj göndermeden önce HER ZAMAN HTML düğmesine, ardından CTRL+A ve CTRL+C'ye basın. Böylece, her şey arabellekte kalacaktır. Ve bir hata oluşursa. Sonra tekrar HTML butonundan, ardından CTRL + A ve CTRL + V'den geçiyoruz. Çok fazla sinir kaydedin.