[Jde] [Robotica] Una duda de C

JoseMaria jmplaza en gsyc.es
Jue Oct 2 09:19:31 CEST 2008


También puedes crearte una función sin parámetros que es la que
registras. Y esa función lo que hace es llamar a la que quieres,
invocándola con los parámetros oportunos.

JoseMaria
On Thu, 2008-10-02 at 09:15 +0200, David Lobato wrote:
> En C no es posible pasar una instancia concreta de una función con
> parámetro (en Python si), así que tendrás que apañártelas para pasar
> el puntero por un lado y los parámetros por otro, por ejemplo con un
> struct.
> 
> 
> 
> El 2 de octubre de 2008 8:47, Jose Alberto Lopez <liviez21 en gmail.com>
> escribió:
>         Gracias David.
>         
>         Pero si yo a la funcion initMainWindow le quiero pasar
>         parametros específicos, como es el caso ?? Ya que cada ventan
>         tendra un tamaño y posición determinados.
>         
>         Saludos
>         
>         El 2 de octubre de 2008 8:32, David Lobato
>         <dav.lobato en gmail.com> escribió:
>         
>         
>                 Una vez declaras la función puedes usar su
>                 identificador como una variable cualquiera. En el
>                 ejemplo que pones sería así:
>                 
>                 int iniMainWindow(int window, int height, int width,
>                 int x, int y) {
>                 }
>                 
>                 ...
>                 
>                 registrador(&iniMainWindow);
>                 
>                 ....
>                 
>                 Un saludete.
>                 
>                 
>                 El 1 de octubre de 2008 23:09, Jose Alberto Lopez
>                 <liviez21 en gmail.com> escribió:
>                         
>                         Hola buenas.
>                         
>                         Tengo una duda de C que con lo espeso que
>                         estoy hoy.
>                         
>                         Quiero declararme un puntero a función para
>                         registrarlo en un array y despues recorrer el
>                         array y ejecutar esa función apuntada.
>                         
>                         Tengo este puntero: typedef int (*display)(int
>                         window, int height, int width, int x, int y);
>                         
>                         Y luego por ejemplo tengo un registrador que
>                         recibe un display (el typedef definido
>                         anterioremente).
>                         registrador(display my_display);
>                         
>                         y luego tengo una función como la que sigue
>                         iiniMainWindow(int window, int height, int
>                         width, int x, int y);
>                         
>                         Yo intento hacer registrador(iniMainWindow(int
>                         window, int height, int width, int x, int y));
>                         
>                         Pero me da un error.
>                         
>                         ¿Alguien me puede echar una mano a ver como
>                         puedo hacer esto?
>                         
>                         No se si me explicado bien
>                         Gracias de antemano.
>                         
>                         PS: Los punteros a función y yo no nos
>                         llevamos bien ...
>                         
>                         
>                         
>                         _______________________________________________
>                         Robotica mailing list
>                         Robotica en gsyc.es
>                         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/robotica
>                         
>                 
>                 
>         
>         
> 
> 
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
-- 
http://gsyc.es/jmplaza 
Universidad Rey Juan Carlos




More information about the Jde-developers mailing list