funcion que devuelva 4 parametros

Iniciado por mapers, 3 Diciembre 2010, 06:53 AM

0 Miembros y 1 Visitante están viendo este tema.

mapers

buenas señores estoy tratando de que las dos funciones me devuelvan  dos valores cada uno y asi unirlos a la funcion de 4 parmetros el inconveniente esque para los dos primeros parametros simpre me toma como 0 porque  que se deve  
Código (cpp) [Seleccionar]


void ControlRaton(int button, int state, int x, int y)

{

float t1=0,t2=0,b1=0,b2=0,k1=0,k2=0,p1=0,p2=0;
int b3=0,b4=0,c3=0,c4=0,puntos[20],i=0,puntos1[20],w=0,x1=0,y1=0;

if(button==GLUT_RIGHT_BUTTON && state==GLUT_UP)
{
cout<<x<<"  "<<y<<"  "<<endl;

draw_pixel(x, y);
x1=x;
y1=y;
}

if(button==GLUT_RIGHT_BUTTON && state==GLUT_DOWN)
{
cout<<x<<"  "<<y<<"  "<<endl;
draw_pixel(x, y);

}
if( state==GLUT_UP &&state==GLUT_DOWN)
{

bres(x1, y1, x,y);//AKA deve unirse los dos valores pero no se puede  me  toma los dos primeros como cero
}
}



x y y son las coordenas de la pantalla en pixeles ......................

Oblivi0n

Si pones todo el codigo, o al menos, la funcion bres(x1, y1, x,y);, se te podra ayudar mejor.
De todos modos, las funciones en C++ solo pueden devolver un valor, si quieres que una funcion te devuelva mas valores, en tu caso 4, asignale los parametros por referencia.

piou

Eso deberías hacerlos pasándole punteros a la función. Una función sol puede devolver un valor.

por ejemplo, una función que le metes un número y devuelve los dos siguientes.



void funcion(int numero, int *n1, int *n2)
{
      *n1 = numero+1;
      *n2 = numero+2;
}

int valor0=3;
int *valor1;
int *valor2;

funcion(valor0,valor1,valor2);

printf("1.- %i,   2.- %i,   3.- %i", valor0, *valor1, *valor2);