Hatalar, hatalar, sorular - sayfa 1923

 
fxsaber :

Yardım diyor ki: Başlangıç değerleri belirtilmemişse, statik depolama sınıfının değişkenleri sıfır başlangıç değerleri alır. Ve ayrıca - şablon olmadan, her şey yolunda

 
A100 :

Yardım diyor ki: Başlangıç değerleri belirtilmemişse, statik depolama sınıfının değişkenleri sıfır başlangıç değerleri alır.

Şablonlar söz konusu olduğunda, bacakların nereden büyüdüğünü kabaca hayal edebiliyorum, bu nedenle her durumda bir şablon satırı eklemenin mümkün olmadığı anlayışını anlıyorum.

Resmi olarak, bu muhtemelen bir hatadır. Yine de, belgelerden alıntılanan metnin, şablonların ortaya çıkmasından çok önce yazıldığını ve biraz yanlış olduğunu düşünüyorum.

 
fxsaber :

Yine de, belgelerden alıntılanan metnin, şablonların ortaya çıkmasından çok önce yazıldığını ve biraz yanlış olduğunu düşünüyorum.

Belgeler ayrıca tam tersi girişi içerir: " Statik bir sınıf üyesi , istenen değerle açıkça başlatılmalıdır." Yalnızca şablon bunu hiçbir şekilde etkilemez - buna göre, her iki durumda da (şablonlu ve şablonsuz) bir hata oluşturulmalı veya oluşturulmamalıdır - çelişki budur
 
MetaTrader 5 build 1619 started (MetaQuotes Software Corp.)
Microsoft Windows XP (X86 based PC), IE 08.00 , Intel Core2 Duo  T7700 @ 2.40 GHz, RAM: 2359 / 3581 Mb, HDD: 17612 / 27784 Mb, GMT+ 02 : 00
C:\Program Files\MetaTrader 5

MetaEditor artık güncellemeden sonra başlamıyor ve bu hatayı veriyor


1616 iyi çalıştı, 1619 çalışmadı.

F4 tuşuna bastıktan sonra terminal günlüğünde

 2017.07 . 07 12 : 00 : 30.109 Error   MetaEditor not found
2017.07 . 07 12 : 39 : 54.296 Error   MetaEditor not found
 
A100 :

IMHO'nuzun anlamını tam olarak anlamıyorum. <= 1596 (32bit) yapıyı alın ve kontrol edin (bir satır bile olsa hemen .log dosyasına çıktılar [5-10 saniye]). bir dakika önce kontrol ettim

[ne önbelleği? her zaman ne? bir yerde bir şey hakkında bir şeyler vardı!?!]

Uzmanlar sekmesi ve MQL5\Logs\ Klasörü hakkında konuşuyorum

IMHO, doğuştan gelen incelikle yazılmıştır - bu, deneyimlerimiz arasındaki tutarsızlıkta ince bir ipucudur. Benim için 5-10 saniye hemen değil. Ve bu gecikme, gözlemlerime göre her zaman saniyelerle sınırlı değil.

[Önbellek önbellektir, şimdiye kadar her zaman, gecikmeli günlük kaydı konusu forumda zaten tartışıldı - sizin için gerçekten önemliyse - bakın]

 
Stanislav Korotky :

Benim için 5-10 saniye hemen değil. Ve bu gecikme, gözlemlerime göre her zaman saniyelerle sınırlı değil.

5-10 saniyeydi (belki bazı durumlarda daha fazla) ve şimdi Görünüm menüsü olmadan - günlükler TÜMÜNDE (!) güncellenmiyor (günün başlangıcından bu yana birkaç saat geçti ve dosya sıfır olmasına rağmen) Uzmanlar sekmesinde her gün yeni satırlar olması). Terminalin "birkaç nanosaniye" ile efsanevi hızlanması uğruna normal günlük kaydı bozulur
 

Derlerken hata

 struct A {
        A() {}
         int aa;
};
struct B {
         static A a;
};
A B::a;
template < typename T>
struct C {
         static T a;
};
template < typename T>
T C::a;
void OnStart ()
{
        B    x1;
         Print ( x1.a.aa ); //нормально
        C<A> x2;
         Print ( x2.a.aa ); //unresolved static variable 'C<A>::a'
}
Önceki duruma benzer https://www.mql5.com/ru/forum/1111/page1943#comment_5410554 ancak burada TC::a = 0 belirterek hatayı gizleyemezsiniz; // eksik A::A( int )
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2017.07.06
  • www.mql5.com
Форум алго-трейдеров MQL5
 

Çalışma hatası

 void OnStart ()
{
         string text = "1234\0" ;
         Print (   "1>'" ,    text, "'" ); //не выводит завершающую кавычку
         printf ( "2>'%s'" , text );      //нормально
}

Sonuç:

1>'1234
2>'1234'

 

Derlerken hata

 #define MACRO( x )       Print ( x )
void OnStart ()
{
        MACRO /**/ ( 10 ); //error: '' - argument expected for the function-like macro
}
 

tam tersi bekleniyor

 class A {};
struct B {
         const A *       a1;   //(1) есть сообщение об ошибке
              A * const a2;   //(2) нет сообщения
};
void OnStart ()
{
        B b1;
        B b2;
        b2 = b1; //error: '=' - not allowed for objects with protected members or inheritance
}
  1. Yapı B'de yalnızca (1) dizesi varsa - bir hata mesajı var
  2. B yapısında yalnızca dize (2) varsa - mesaj yok
  3. tam tersi bekleniyor

Ayrıca her iki durumda da (1. ve 2.) hata beklenmiyordu.

 void OnStart ()
{
        B b1;
        B b2 = b1; //error: '=' - not allowed for objects with protected members or inheritance
}