[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 512

 
Roman.:

¿Cuándo vas a tener tu propia caravana personal, Diman?)

¿Has ganado dinero en un año en el mundo real? Tienes muchas cantidades de START asignadas ahí, ¿no?)



Pronto.
 
Reshetov:

Puedes declarar una variable estática fuera de las funciones y entonces no tendrás que pasar nada por referencia en absoluto.

Estás pensando incorrectamente. Si se pasa una variable como argumento a una función, no debe declararse en el cuerpo de la función: ya está declarada en el argumento. La función debe ser declarada desde donde se pasa.


Es decir, no importa si lo pasamos desde la función de inicio o desde alguna otra función.

En este caso, declaré variables en la función double GetPriceToInput(int signal) y pasé las variablespriceForSell ypriceForBuy declaradas en la misma función double GetPriceToInput(int signal) por referencia a la funciónbool Trade(int signal, double& priceForBuy, double& priceForSell).

He añadido esta función a la función deinicio y veo que allí ya están indefinidos. Quiero saber cómo solucionarlo.

Por supuesto, puedo declarar estas 2 variables a la vez en start como acabas de decir, pero puedo pasarlas directamente desde la funcióndouble GetPriceToInput(int signal). Esto es lo que quiero decir.

 
hoz:


Es decir, no importa si los pasamos desde la función de inicio o desde alguna otra función.

En este caso, declaré variables en la función double GetPriceToInput(int signal) y pasé las variablespriceForSell ypriceForBuy declaradas en la misma función double GetPriceToInput(int signal) por referencia a la funciónbool Trade(int signal, double& priceForBuy, double& priceForSell).

He añadido esta función a la función deinicio y veo que allí ya están indefinidos. Quiero entender cómo solucionarlo.

¿Dónde los has pasado y por qué asignas valores donde no los has pasado?

 
Reshetov:

¿Dónde los pasas y dónde les asignas valores?


Bueno, tengo los valores de las variables en la funcióndouble GetPriceToInput(int signal)

Aquí:

double priceForSell = secondBarClosed - deltaForSell;
double priceForBuy = secondBarClosed + deltaForBuy;

Devuelvo estos valores:

return(priceForSell);
return(priceForBuy);

Es decir, los valores ya han sido devueltos por la función.

Luego envío estos valores por referencia a la función bool Trade(int signal, double& priceForBuy, double& priceForSell):

Esto es bastante obvio.

 
hoz:

Es decir, los valores ya han sido devueltos por la función.

¿Dónde las devolvió, es decir, en qué lugar del código se encuentran exactamente los valores de estas variables que devuelve la función? ¿Y cómo puede una función devolver más de un valor si no se ha pasado por referencia?
 
hoz:


Bueno, tengo los valores de las variables en la funcióndouble GetPriceToInput(int signal)

Aquí:

Devuelvo estos valores:

Es decir, los valores ya han sido devueltos por la función.

Luego envío estos valores por referencia a la función bool Trade(int signal, double& priceForBuy, double& priceForSell):

Aquí todo está claro.


Sólo hay que leer un libro de texto. Especialmente, lea la sección sobre el alcance de las variables. Y empezar con ejemplos sencillos.

SZS Parece que tienes que empezar con los fundamentos de la programación.

 

Reshetov
:

¿Dónde se devuelve, es decir, mostrar exactamente en qué parte del código estos valores de las variables son devueltos por la función? ¿Y cómo puede una función devolver más de un valor si no se le ha pasado por referencia?

Sinceramente, ya estoy completamente confundido. Ni siquiera tengo ejemplos para ver cómo lo hacen los demás.

Entiendo que, además de obtener los valores, hay que asignarlos a algunas otras variables?

VladislavVG:


Sólo hay que leer el libro de texto. Lea especialmente la sección sobre el alcance de las variables. Y empezar con algunos ejemplos sencillos.

Parece que tienes que empezar con los fundamentos de la programación.


No necesito lo básico. Soy muy consciente de la visibilidad variable. No hay nada en el libro de texto sobre pasar valores de variables por referencia. ¿Por qué me envían allí? ¿Te estás burlando de mí?

 

hoz:

No necesito lo básico. Soy muy consciente de las visibilidades variables. No hay nada en el libro de texto sobre pasar valores de variables por referencia. ¿Por qué me envían allí? ¿Me estás tomando el pelo?

Adiós, entonces. Es inútil enseñar a un científico. Así que no nos burlemos si ya se lo está comiendo todo.
 
Reshetov:
Entonces, adiós. Es inútil enseñar a un científico. Así que no nos burlemos de ti si ya eres todo un negocio.

¿Por qué enviarte de inmediato? No hay nada en el libro de texto sobre las transferencias de parámetros en el enlace. ¿Por qué debo leer lo mismo 100 veces? Hice una pregunta específica. He leído el libro de texto un montón de veces. Y lo he revisado hoy, ¡no hay nada en él sobre la transferencia de parámetros por referencia!
 
hoz:

¿Por qué enviarlos de inmediato?
  1. No de inmediato, pero sí después de alguna comunicación.
  2. No para enviar, sino para despedirse.

Porque estoy harto de tener conversaciones con gente que sabe leer y escribir.