Çaydanlıktan gelen sorular - sayfa 124

 
MetaDriver :

Tamam, indim. :) Ben de terminalden çıktım.

Temel olarak kontrol edildi - ArrayResize (...) kullanma girişimi

"Kullanma girişimi" ifadesine bakılırsa - büyük olasılıkla, dizi statik gibi bir hata oluşturulacaktır. Peki, kontrol edelim.
 
MetaDriver :

Temel olarak kontrol edildi - ArrayResize (...) kullanma girişimi

hala biraz dolambaçlı) daha kolay
 

İşte hatalar. Metaquota vatandaşları lütfen dikkat!!!

   int j[ 1 ];
   Alert ( "Размер массива из одного элемента без списка инициализации = " , sizeof (j), "   Массив динамический? " , ArrayIsDynamic (j));

   int k[];
   Alert ( "Размер структуры для динамического массива = " , sizeof (k), "   Массив динамический? " , ArrayIsDynamic (k));
   
   int g[] = { 0 };
   Alert ( "Размер массива из одного элемента со списком инициализации = " , sizeof (g), "   Массив динамический? " , ArrayIsDynamic (g));
Hatanın özü: bir dizi için bir başlatma listesi kullanıldığında ( int g[] = { 0 }; ), sizeof (g) işlevi, struct MqlArrayObject yapısının (dinamik bir dizi için oluşturulmuş) boyutunu döndürür.
Документация по MQL5: Основы языка / Операции и выражения / Другие операции
Документация по MQL5: Основы языка / Операции и выражения / Другие операции
  • www.mql5.com
Основы языка / Операции и выражения / Другие операции - Документация по MQL5
 
220Volt :
Hatanın özü: bir dizi için bir başlatma listesi kullanıldığında ( int g[] = { 0 }; ), sizeof (g) işlevi, struct MqlArrayObject yapısının (dinamik bir dizi için oluşturulmuş)boyutunu döndürür.
ArrayIsDinamic () dizinin statik olduğunu söylerken? // ağda ve mahkeme ağında
 
MetaDriver :
ArrayIsDinamic () dizinin statik olduğunu söylerken? // ağda ve mahkeme ağında

j - statik

k - dinamik

g - statik

 
220Volt :
....

g - statik

Korku. Sportloto'ya yaz. Destekleyeceğim.
 
220Volt :

İşte hatalar. Metaquota vatandaşları lütfen dikkat!!!

Hatanın özü: bir dizi için bir başlatma listesi kullanıldığında ( int g[] = { 0 }; ), sizeof (g) işlevi, struct MqlArrayObject yapısının (dinamik bir dizi için oluşturulmuş)boyutunu döndürür.

Gönderdiğiniz için teşekkürler, hata düzeltildi.
 
mql5 :
Gönderdiğiniz için teşekkürler, hata düzeltildi.

İlyas!! Beklemek!!

Tam olarak nasıl düzeltilir? Bildirim sırasında başlatılan diziler dinamik hale geldi mi (yeniden boyutlandırma olasılığı ile)?

Yoksa tamamen statik mi?

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
MetaDriver :

Yoksa tamamen statik mi?
Kesinlikle statik.
 
Renat :
Kesinlikle statik.

Ah, şimdi anlaşıldı.

Renat, teklifim uzun zamandır olgunlaşıyor, sadece konuyla ilgili. Lütfen diziler için, en azından statik olanlar için adlandırılmış yazım yapın (diğer tüm türler için zaten var).

Örneğin, beyan etme yeteneği: typedef Int8 = int[8]; .

Sorunun bedeli, tek boyutlu (2.3 boyutlu) dizileri, daha büyük boyutlu dizilerdeki alt diziler olan fonksiyonlara geçirebilme yeteneğidir.

Onlar. daha fazla beyan ederseniz: Int8 arr[..] , böylece arr[i] işlevini func(Int8 &a) {...} 'a iletebilirsiniz .

Şimdi mql5'te alt dizileri fonksiyonlara geçirmenin imkansızlığı nedeniyle bir çok gereksiz hareketler yapmak ve çarpık kodlar yazmak zorunda kalıyorsunuz.

Konu bana tartışmalı geldiği için servise yazmıyorum .

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
Neden: