Foros del Web » Programación para mayores de 30 ;) » C/C++ »

llamada dinamica funcion

Estas en el tema de llamada dinamica funcion en el foro de C/C++ en Foros del Web. Buenas, lo cierto es que lo que quería es una funcion similar a: Application.Run(nombre_funcion, argumentos, ...) que existe en VB en c++. He estado investigando ...
  #1 (permalink)  
Antiguo 02/12/2011, 10:35
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 13 años
Puntos: 0
llamada dinamica funcion

Buenas,
lo cierto es que lo que quería es una funcion similar a:
Application.Run(nombre_funcion, argumentos, ...) que existe en VB en c++.
He estado investigando y he encontrado algo con PHP (call_user_func), pero no se muy bien como hacerlo en c++.
Lo que quiero es hacer la llamada a la funcion de forma dinamica conociendo el nombre de la funcion (nombre_funcion como cadena) y los argumentos.
Muchas gracias.
  #2 (permalink)  
Antiguo 02/12/2011, 11:03
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: llamada dinamica funcion

No existe una cosas asi en C++, te la puedes inventar vos con listas, punteros. Recuenda que puedes guardar el puntero de una funcion y despues invocarla. Algo asi:

Código C:
Ver original
  1. int (* hola)(int);
  2.  
  3. int chau(int a){return a + 10;}
  4.  
  5. int main ()
  6. {
  7.     hola = a;
  8.     printf("%d",hola(10));
  9.  
  10. }
  #3 (permalink)  
Antiguo 03/12/2011, 09:37
Avatar de sephirot47  
Fecha de Ingreso: marzo-2011
Ubicación: BCN
Mensajes: 54
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: llamada dinamica funcion

Creo que nuestro amigo sam90 quería decir esto...:

Código C++:
Ver original
  1. int (* pfunc)( int );
  2.      
  3. int pfunc( int a )
  4. {
  5.         return a + 10;
  6. }
  7.      
  8. int main ()
  9. {
  10.         //Asignas la función, que es [B]funcion[/B]un puntero a una función, que es [B]pfunc[B] (en este caso)
  11.         pfunc = funcion;
  12.  
  13.         printf( "%d", pfunc(10) );
  14. }
__________________
Todo lo que tiene un inicio tiene un final inevitable...

¡ No olvides darme karma si te fui útil ^^ !
  #4 (permalink)  
Antiguo 05/12/2011, 14:02
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: llamada dinamica funcion

Tengo la impresion que este ultimo codigo no funcionaria, a menos que se cambie la linea 3 por
int funcion( int a ).

De otra forma "funcion" no existe.
__________________
Visita mi perfil en LinkedIn
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:18.