Hatalar, hatalar, sorular - sayfa 2831

 
A100 :

Yine konu dışısınız - hiçbir fark yok. Her iki durumda da: ya bir hata olmamalı - ya da olmalı (C++'da olduğu gibi). İşte bir örnek (3), f sonra (2) durumunda olduğu gibi yeniden tanımlandığında, ancak (2)'den farklı olarak - bir derleme zamanı hatası

Üzgünüm, senin seviyen değil. ama bence daha katı ve makul olmayan kapsülleme. si ve python değil.

 
Her şeyi tek bir örnekte birleştirelim:
 class B {
public :
        B( int ) {}
};
class A {
         int f( int ) { return 0 ; }
         void g1()    { B f = f( 1 );  } //(1) нормально
         void g2()    { B f(  f( 1 )); } //(2) Error: '1' - some operator expected
};
Şimdi, genel olarak, HER ŞEY aynı ama soru aynı: (1) ve (2) arasındaki fark nedir?
 
A100 :
Her şeyi tek bir örnekte birleştirelim: Şimdi, genel olarak, HER ŞEY aynı, ancak soru aynı: (1) ve (2) arasındaki fark nedir?

Ne hakkında konuştuğunu anlamıyorum, ama fark OBVIOUS))) Atama -> argüman. Belki de ben hatalıyım)))

 
Сергей Таболин :

Ne hakkında konuştuğunu anlamıyorum, ama fark OBVIOUS))) Atama -> argüman. Belki de ben hatalıyım)))

Fark sizin için açıksa, neden bir durumda derleme sırasında bir hata olduğunu ve diğerinde - hayır. Yoksa farkı anlam olarak değil, sadece görünüş olarak belirleyebilir misiniz? O zaman bu Murzilka dergisi seviyesidir - "10 fark bul"

 
A100 :

Fark sizin için açıksa, neden bir durumda derleme sırasında bir hata olduğunu ve diğerinde - hayır. Yoksa farkı anlam olarak değil, sadece görünüş olarak belirleyebilir misiniz? O zaman bu Murzilka dergisi seviyesidir - "10 fark bul"

Aynen öyle )))))))

Bir meslekten olmayan birinden bir soru daha alabilir miyim? Bütün bunlara neden ihtiyaç var? Kutsal anlamı nedir? Özellikle böyle "böcek" mi arıyorsunuz? Ya da bu tasarımlardan herhangi biri olmadan - tüm yaşam boşa mı gidiyor?

 
Сергей Таболин :

Bir meslekten olmayan birinden bir soru daha alabilir miyim? Bütün bunlara neden ihtiyaç var? Kutsal anlamı nedir? Özellikle böyle "böcek" mi arıyorsunuz? Ya da bu tasarımlardan herhangi biri olmadan - tüm yaşam boşa mı gidiyor?

Bu tür sorular için (bu başlıkta) ban zamanı

 

Hatalarla ilgili olduğu için. DLL ve test cihazının manuel olarak durdurulması konusunda herhangi bir çözüm var mı?

Yani, eğer test eden/optimizasyon bu süreçte durdurulursa, o zaman yeni bir test başlatmak için metatester64 tutamaçları ile öldürmeniz gerekir (ve bir çiftlik durumunda, cehennemin ek bir kısmı vardır), çünkü işlem DLL'yi yüklü bırakır ve yeni bir test çalıştırmak için DLL'yi sanal alana yeni bir şekilde kopyalar, ancak açıkçası Windows, açık bir DLL dosyasının üzerine yazmaya ve bir yazma hatasına izin vermez.

Pekala, eğer geliştiriciler buradan geçerse, neden testçinin koduna 4 satır eklemesin ki kitaplığın idaresini ele geçirmeye çalışsın ve eğer yüklenmişse, tekrar kopyalamadan önce onu boşaltın? Ortalık karıştı ;)

 

Strateji test cihazındaki tablo alanlarından birinde geçerli yerel saati SQLite'de nasıl yazabilirim?

nuguglil

SELECT datetime('now');

ama veritabanına tek bir sorgu göndermek istiyorum

Veritabanına ilgilendiğim optimizasyon geçişlerini yazmak istiyorum, gerçekten yeterli yerel zamanım yok - EA'nın hangi parametreleri ne zaman araştırdığını unutuyorum

UPD:

Çözümü buldum test alanına datetime () yazmanız yeterli

INSERT INTO "tst"("Field1") VALUES (datetime('now','localtime'));
 
Igor Makanu :

Strateji test cihazındaki tablo alanlarından birinde geçerli yerel saati SQLite'de nasıl yazabilirim?

nuguglil

ama veritabanına tek bir sorgu göndermek istiyorum

Veritabanına ilgilendiğim optimizasyon geçişlerini yazmak istiyorum, gerçekten yeterli yerel zamanım yok - EA'nın hangi parametreleri ne zaman araştırdığını unutuyorum

UPD:

Çözümü buldum test alanına datetime () yazmanız yeterli

CREATE TABLE "foo" (

   "stamp" datetime default CURRENT_TIMESTAMP,

    --- прочие поля

);

teoride yuvarlanmalıdır - geçerli yerel saatte bir kayıt oluştururken damga ayarlanacaktır.

 
A100 :
Her şeyi tek bir örnekte birleştirelim: Şimdi, genel olarak, HER ŞEY aynı, ancak soru aynı: (1) ve (2) arasındaki fark nedir?

Eh, sorunun büyük olasılıkla adların işlevle benzerliğinde olduğu açıktır - bu, tabiri caizse, dilin özelliklerini tahmin ederek görünümün bir değerlendirmesidir ))) Peki, bu işe yaramalı ..... Bir ton kodda böyle bir hata bulmayı hayal ediyorum.

Kontrol edildi - evet her şey doğru. derleyici ikinci kez bir işlevi değil, yapıcı içindeki bir yapıcıyı çağırmaya çalışır.

İkinci varyantta, derleyicinin herhangi bir nedenle "f (" - tam olarak yapıcı çağrısının bir "fonksiyonu" olarak) sözdizimini saklı tuttuğu ortaya çıkıyor.

 class B {
public :
        B( int ) {}
};
class A {
         int f( int ) { return 0 ; }
         void g1()    { B f = f( 1 );  } //(1) нормально
         void g2()    { B f(   this .f( 1 )); } //(2) Прекрасно работает
};


Bu doğru olmasa da))) ama ...

Aksine, "f("... sözdiziminde sınıfın arka parantezinin beklentisiyle, onunla f(....) işlevinde karşılaşır ve onu bir sınıf olarak kapatır (yani bizim durumumuzda, fonksiyon çağrısı yerine B nesnesinin tam bir başlatılması var) ... o zaman sınıfı bir değişkene dönüştürmeye çalışan kalan segmenti çözüyor

kodunuz gibi, nasıl olduğunu anlamaya çalışıyor


 class B {
public :
        B( int ) {}
};
class A {
         int f( int ) { return 0 ; }
         void g1()    { B f = f( 1 );  } //(1) нормально
         void g2()    { B a( 1 );  B f (a( 1 )); } //(2) Error: '1' - some operator expected
};
Быстрое погружение в MQL5
Быстрое погружение в MQL5
  • www.mql5.com
Есть множество причин, по которым вы решили изучать современный язык программирования торговых стратегий MQL5, и мы только приветствуем это! Старожилы легко ориентируются как в самой документации по языку, так и в статьях и множестве сервисов, которые здесь представлены. Но если вы только открыли для себя клиентский терминал MetaTrader 5, то в...