Function call to return two variables

David Diez  
Excellent! Thank you! I will check these out!
karachiento  
David Diez:

Hi, how to structure a function call to return two different variables?

Example:

La función esta devolviendo una única variable: el cociente entre Long y Short.

//Function

double OrdersCount () // Es muy difícil que el resultado Long/Short sea entero, hay que declararlo double
{
   int Long  = 0;
   int Short = 0;

   for (...)
   {
     OrderSelect (...)
     .
     .
     .
     
   }
   return ((double)Long /(double)Short);
}


// Call
if (OrdersCount() < 1) // Tal cual como has presentado el problema, la función no necesita argumentos
{
   OrderSend (xxx);
}

if (OrdersCount() > 1) // creo que aquí has querido poner > 1 (de lo contrario el valor devuelto puede satisfacer las dos condiciones que planteas
                        // Ser <1 y ser >0
{
   OrderClose(xxx);
}

//A no ser que hayan sido declaradas como globales, no puedes usar las mismas variables Long y Short dentro y fuera de la función
// (Si puedes usar variables que se llamen igual, pero NO SON LAS MISMAS)
David Diez  

Он фиксировал сумму к переводу вам не более 27$.

Перезагрузил страницу - всё заработало.

В тз включил описание и переписку

karachiento  

de nada, me llevo un ratillo


por cierto, usando un puntero (o apuntador) y un vector creo que puedes resolver tu problema.


Otra opción, si quieres devolver la variable Long la salida sera "return (Long);" y si quieres devolver la variable Short la salida sera "return (Short * -1);"

en la llamada, si el valor de la funcion en <0, sabes que estas recibiendo Short y lo vuelves a multiplicar por -1 para recuperar su valor positivo original; y si es >0 estas recibiendo Long

Razón de la queja: