comprobar el paso de parámetros ny referencia:
int res1 func(int& res2, otros parámetros...)
no,
int x;
int y=func(x, otros parámetros);
después de la llamada x=5 e y=2;
int res1 func(int& res2, otros parámetros...)
{
res2=5
return(3);
}
Quiero decir y=3
Parece que sólo devuelve un resultado: "3".
return(3);
?
solo encuentra pasar parametros por referencia en la ayuda de mql4:
Generalmente pasar por referencia significa que pasas una variable real a la función desde fuera (usando &) y puedes cambiar su valor dentro de la función y esa variable seguirá ahí cuando vuelvas de la llamada.
así, int x pone el valor a 0.
dentro de la función pones x=5
cuando regresas de la función x=5 como se establece en la función, así que das tu segundo resultado de la función sin devolver 2 resultados.
las funciones nunca devuelven 2 resultados solo uno.
OK, gracias, irusoh1
Lo que falta en la explicación de irusoh1 es que la variable tiene que ser Array(s). Y que el retorno no juegue un papel en el llenado/modificación de los arrays, sino que lo modifique directamente según sea necesario.
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); }
Buena suerte.
no necesita ser un array
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Necesito devolver 2 resultados de una función. Puedo separarlos y crear una función para cada resultado que necesito, pero es mucho más código y complica otras cosas. ¿Es esto posible con MT4?