C/Visual C - Alguien me puede explicar el siguiente código

 
Vista:

Alguien me puede explicar el siguiente código

Publicado por rraces (25 intervenciones) el 01/06/2006 09:48:53
Hola amigos, me encontrado en una dll que debo actualizar el siguiente código:

struct TTScriptArg
{
char* pData;
int size;
};

typedef int (*ReallocArg_t)( TTScriptArg*, int );

int __declspec(dllexport) ConseguirTipoProyecto( TTScriptArg* args,
int nArgs,
ReallocArg_t ReallocArg )
{
....

lo que quisiera saber el typedef que es lo que hace en este caso y que le tendría que pasar en el tercer parámetro para realizar un ejecutable que llamara a esta función de la dll.

Gracias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Alguien me puede explicar el siguiente código

Publicado por Nelek (816 intervenciones) el 01/06/2006 10:40:48
A la segunda parte no se contestarte, pero el typedef es como si estuvieras poniendole un "Alias" a un metodo o una clase, es decir, un cambio de nombre para que sea mas comodo el llamarlo.

O al menos asi lo tengo entendido yo. Espera a ver si lo confirman o me corrigen
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Alguien me puede explicar el siguiente código

Publicado por rraces (25 intervenciones) el 01/06/2006 10:50:26
Buenas, gracias por interesarte, ya se que el typedef hace eso, a lo mejor no he formulado bien la pregunta, lo que quiere saber es que en este código ¿que hace un "alias" de la estructura para despues llamarla?
Gracias de Nuevo
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Alguien me puede explicar el siguiente código

Publicado por x (63 intervenciones) el 01/06/2006 17:13:24
si no me equivoco es un puntero a una funcion...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Alguien me puede explicar el siguiente código

Publicado por fernando.gomez (1603 intervenciones) el 01/06/2006 18:34:17
Hola. Ese typedef que tienes es para especificar un puntero a una función (ReallocArg_t) que tiene tipo de retorno int, y tiene dos argumentos un puntero a la estructura TTScriptArg y un entero, nArgs.

Esto es lo que se llama un callback., y es en escencia un puntero a una función. Un ejemplo:

typedef void (*fnImpresion)( int );

int ParImpar(int iNumero)
{
return iNumero % 2;
}

void ImprimePar(int i)
{
cout << "El número " << i << " es par" << endl;
}

void ImprimeNon(int i)
{
cout << "El número " << i << " es non" << endl;
}

int main()
{
int bCondicion = ObtenCondicion();
fnImpresion pfn;

cout << "Escribe un número: " << endl;
cin >> iNum;

if (ParImpar(iNum)) {
pfn = ImprimeNon;
} else {
pfn = ImprimePar
}
pfn(iNum);

return EXIT_SUCCESS;
}

Espero te quede un poco más claro (y espero no haberme equivocado en la sintaxis :P)

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Alguien me puede explicar el siguiente código

Publicado por x (63 intervenciones) el 01/06/2006 19:28:16
por eso me cae bien ud...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar