Hatalar, hatalar, sorular - sayfa 2537

 

::Print() işlevi Araçlar\Uzmanlar penceresinde uzun bir dize (260 karakterden fazla) görüntülerse, bu dizenin RMB\Copy yoluyla kopyalanmasının bir sonucu olarak 256 karaktere kesilir.


RMB\View\RMB\Copy yoluyla kopyalarsanız, kesme gerçekleşmez.

Fark ne?

 
A100 :

Beyinsiz

 #define MACRO( ТОЛЬКО_НЕ_void )     Print ( "OK" )
void OnStart () { MACRO(); }

hmm, senin için her şey zor ...... Kirpiler merhaba diyor!

 #define   test( int ) for ( int i= 0 ;i< 10 ;i++) Print ( "OK" );
//+------------------------------------------------------------------+
void OnStart ()
  {
  test();
  }

'i' - bildirilmemiş tanımlayıcı tst.mq5 on altı 3

boşluklu seçenek sorunsuz çalışacaktır, peki, orada daha iyi bilirsiniz, kapağı çıkarmayı unutmayın
 
A100 :

Beyinsiz

 #define MACRO Print ( "OK" )
void OnStart () { MACRO; }

Peki makrodan sonra gelen parantezler ruhunuzu ısıtıyor mu?

Ve evet, bir makro parametresinin bildirilmesinde ayrılmış kelimeler kullanmak, şiddetli böcekler yaratmanın önkoşulları için bu tür bir sevgidir. Evet, geliştiriciler bizi onlara saygı duyduğumuz bu heyecan verici eylemden tam olarak korumadığı için herkes kendi bacaklarını nasıl vuracağına kendisi karar verir)))

Son olarak bir makro parametresinin ne olduğunu ve nasıl kullanıldığını anlayın.

 
Igor Makanu :

hmm, senin için her şey zor ...... Kirpiler merhaba diyor!

'i' - bildirilmemiş tanımlayıcı tst.mq5 on altı 3

boşluklu seçenek sorunsuz çalışacaktır, peki, orada daha iyi bilirsiniz, kapağı çıkarmayı unutmayın
 void OnStart ()
  {
   for (i= 0 ;i< 10 ;i++) Print ( "OK" );;
  }

İşte önişlemcinin çıktıda sizin için topladığı şey.

PS iki ; - bu benim yazım hatası değil, önişlemciden sonra gerçek olacak.
 
Igor Makanu :

boşluklu seçenek sorunsuz çalışacaktır, peki, orada daha iyi bilirsiniz, kapağı çıkarmayı unutmayın

Bu özel durumda işe yarayacak, ancak genel durumda çalışmayacak. Özel durumlar için en kötü çözümler - kimsenin ihtiyacı yok. void, herhangi bir anahtar kelime anlamına geliyordu, eğer hala anlamadıysanız

 
Vladimir Simakov :

Peki makrodan sonra gelen parantezler ruhunuzu ısıtıyor mu?

Ve evet, bir makro parametresinin bildirilmesinde ayrılmış kelimeler kullanmak, şiddetli böcekler yaratmanın önkoşulları için bu tür bir sevgidir. Evet, geliştiriciler bizi onlara saygı duyduğumuz bu heyecan verici eylemden tam olarak korumadığı için herkes kendi bacaklarını nasıl vuracağına kendisi karar verir)))

Son olarak bir makro parametresinin ne olduğunu ve nasıl kullanıldığını anlayın.

Sizin için somut bir argümanım var: "C++'da her şey olması gerektiği gibi çalışıyor." Buna bir itirazınız var mı? Değil? O zaman ahlakını kendine sakla. Ve bunu çözmeniz gerekiyor - parantezlerin neden açık olmadığı açıksa

Not : Igor Makanu bunu önerdi - ona bu konuda yazın
 
A100 :

Bu özel durumda işe yarayacak, ancak genel durumda çalışmayacak. Özel durumlar için en kötü çözümler - kimsenin ihtiyacı yok. void, herhangi bir anahtar kelime anlamına geliyordu, eğer hala anlamadıysanız

Tamam, yap, seninle konuşmak hoş değil. Bir şey sizi her zaman kişisel olmaya çeker, bu forumdaki teknik konularla daha çok ilgileniyorum

Vladimir Simakov :

İşte önişlemcinin çıktıda sizin için topladığı şey.

PS iki ; - bu benim yazım hatası değil, önişlemciden sonra gerçek olacak.

Evet, her şeyin bununla ilgili olduğu açık;

soru tamamen teknikti ne kadar doğru

Herhangi bir tür yazdım, çöpün işe yaraması bekleniyordu - oldu, nadiren kullanıyorum (temelde sipariş göndermeyi makro olarak SATIN AL (çift parti) veya sadece SATIN AL ()) - burada her zaman void kullandım - orada sorun yoktu ve olmamalı

 
A100 :

Sizin için somut bir argümanım var: "C++'da her şey olması gerektiği gibi çalışıyor." Buna bir itirazınız var mı?

Ve sonra C#, JS ve diğerleri var. Sadece burada mql ve bunun gibi.
 
Igor Makanu :

Tamam, yap, seninle konuşmak hoş değil. Bir şey sizi her zaman kişisel olmaya çeker, bu forumdaki teknik konularla daha çok ilgileniyorum

İyi değil? Teknik konularla ilgileniyor musunuz? Bu mesajınıza bakılırsa anladığım kadarıyla BDSM konusuyla daha çok ilgileniyorsunuz. Sizinle - kendi dilinizde - kelime dağarcığınızı kullanarak iletişim kuruyorum

 
Vladimir Simakov :
Ve sonra C#, JS ve diğerleri var. Sadece burada mql ve bunun gibi.

Ve C#, JS ve diğerlerinin bununla ne ilgisi var? MQL belgelerini okuyacaksınız - 1. sayfa:

"MQL5 dilinin sözdizimi C++'ınkine benzer"

https://www.mql5.com/ru/docs/basis .

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...