Überprüfung der Übergabe von Parametern ny Referenz:
int res1 func(int& res2, andere Parameter...)
Ich meine y=3
Es sieht immer noch so aus, als würde nur ein Ergebnis zurückgegeben - "3".
return(3);
?
Finden Sie einfach die Übergabe von Parametern per Referenz in der Mql4-Hilfe:
Im Allgemeinen bedeutet die Übergabe per Referenz, dass man eine aktuelle Variable von außen an die Funktion übergibt (mit &) und dass man ihren Wert innerhalb der Funktion ändern kann und dass die Variable immer noch da ist, wenn man vom Aufruf zurückkommt.
also int x wird auf 0 gesetzt.
innerhalb der Funktion setzen Sie x=5
wenn du von der Funktion zurückkommst, ist x=5 wie von der Funktion gesetzt, also hast du dein zweites Ergebnis von der Funktion erhalten, ohne 2 Ergebnisse zurückzugeben.
Funktionen geben niemals 2 Ergebnisse zurück, sondern nur eines.
OK, danke, irusoh1
Was in der Erklärung von irusoh1 fehlt, ist, dass die Variablen Array(s) sein müssen. Und eher die Rückkehr nicht spielen eine Rolle bei der Füllung/Änderung der Arrays, sondern ändern Sie es direkt nach Bedarf.
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); }
Viel Glück!
muss nicht ein Array sein
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Ich muss 2 Ergebnisse aus einer Funktion zurückgeben. Ich kann sie trennen und eine Funktion für jedes Ergebnis erstellen, das ich brauche, aber das ist viel mehr Code und macht andere Dinge komplizierter. Ist dies mit MT4 möglich?