referanstan geçen parametreleri kontrol edin:
int res1 func(int& res2, diğer parametreler...)
hayır,
int x;
int y=işlev(x, diğer parametreler );
x=5 ve y=2 çağrılarından sonra;
int res1 func(int& res2, diğer parametreler...)
{
res2=5
dönüş(3);
}
yani y=3
Hala tek bir sonuç döndürüyor gibi görünüyor--"3"
dönüş(3);
?
mql4 yardımında referans olarak geçen parametreleri bulun:
Genel olarak yeniden yönlendirme ile geçmek, gerçek bir değişkeni dışarıdan (& kullanarak) işleve ilettiğiniz anlamına gelir ve işlevin içindeki değerini değiştirebilirsiniz ve çağrıdan geri döndüğünüzde bu değer hala orada olacaktır.
bu nedenle int x değeri 0 olarak ayarlayın.
x=5 ayarladığınız fonksiyonun içinde
x=5 işlevinden işlev tarafından ayarlandığı gibi döndüğünüzde, işlevden ikinci sonucunuzu 2 sonuç döndürmeden verdiniz.
fonksiyonlar hiçbir zaman sadece bir tane 2 sonuç döndürmez.
Tamam, teşekkürler, irusoh1
irusoh1 açıklamasında eksik olan şey, değişkenin Dizi(ler) olması gerektiğidir. Ve bunun yerine dönüş, dizileri doldurmada/değiştirmede rol oynamaz, bunun yerine doğrudan gerektiği gibi değiştirir.
int Xarray[]; int Yarray[]; void Fun2result( int & Array[], int & Brray[], int pos) { Array[pos] = 2 + pos; Brray[pos] = 5 + pos; } int start() { for (i= Bars - 1 ; i>= 0 ; i--) Fun2result(Xarray, Yarray, i); }
İyi şanlar.
dizi olması gerekmez
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Bir işlevden 2 sonuç döndürmem gerekiyor. Bunları ayırabilir ve ihtiyacım olan her sonuç için bir işlev oluşturabilirim, ancak bu çok daha fazla kod ve diğer şeyleri daha karmaşık hale getiriyor. MT4 ile bu mümkün mü?