Funciones C++!!!
El problema q tengo es el siguiente, tengo ya creada una lista enlazada, y lo q quiero es acceder a la misma a través de distintas funciones realizadas en modulos diferentes.
El problema aparce cuando yo hago lo siguiente:
creo una nueva ventana .h en donde pongo el encabezado, y una .cpp donde desarrollo la funcion.
el problema surge ya q quiero pasar la funcion como parametro y no me la reconce...q tengo q hacer????se la puede declarar en el .h???
me seria de mucha utilidad q me manden una solucion concreta y detallada paso a paso y si es posible algun ejemplo.
Desde ya muchas [email protected]
El problema aparce cuando yo hago lo siguiente:
creo una nueva ventana .h en donde pongo el encabezado, y una .cpp donde desarrollo la funcion.
el problema surge ya q quiero pasar la funcion como parametro y no me la reconce...q tengo q hacer????se la puede declarar en el .h???
me seria de mucha utilidad q me manden una solucion concreta y detallada paso a paso y si es posible algun ejemplo.
Desde ya muchas [email protected]
mira supongamos que tienes un archivo de encabezado donde tienes implementadas las funciones.
en el archivo donde las vas a invocar tienes que poner la siguiente directiva al inicio: por ejemplo que la unidad se llama Mi_Unidad
#include "Mi_Unidad.cpp"
.
.
.
en el archivo donde las vas a invocar tienes que poner la siguiente directiva al inicio: por ejemplo que la unidad se llama Mi_Unidad
#include "Mi_Unidad.cpp"
.
.
.
Si tu problema es que te da un error de "linkado" con esa función, la solución puede ser la que te comenta XXX. De todas formas, es mejor solución compilar todos los ficheros .cpp en una sola orden, de esta forma tampoco te dará el error de linkado
$ compila fichero1.cpp fichero2.cpp fichero3.cpp
Si lo que quieres es pasar esa función como parámetro, puedes hacerlo. Lo mejor es que sea una función o un método estático de una clase. También puede ser un método normal, pero es algo más liada la sintaxis.
Si es una función, el tipo de la función es el siguiente
void (*)(parametros);
Una función que reciba como parámetro otra función se declararía asi
void funcion ( void (* f) (parametros));
f es la variable (puntero) que apunta a la función.
dentro de funcion() puedes llamar a f asi
f (parametros);
No sé si es esto lo que necesitas ...
Se bueno
$ compila fichero1.cpp fichero2.cpp fichero3.cpp
Si lo que quieres es pasar esa función como parámetro, puedes hacerlo. Lo mejor es que sea una función o un método estático de una clase. También puede ser un método normal, pero es algo más liada la sintaxis.
Si es una función, el tipo de la función es el siguiente
void (*)(parametros);
Una función que reciba como parámetro otra función se declararía asi
void funcion ( void (* f) (parametros));
f es la variable (puntero) que apunta a la función.
dentro de funcion() puedes llamar a f asi
f (parametros);
No sé si es esto lo que necesitas ...
Se bueno
