Saltar al contenido

¿Qué significa “typedef void (*Algo)()” significa

Te damos la bienvenida a nuestro espacio, en este lugar vas a encontrar la solucíon a lo que andabas buscando.

Solución:

Define un tipo de puntero a función. Vuelven las funciones void, y la lista de argumentos no está especificada porque la pregunta está (actualmente, pero posiblemente erróneamente) etiquetada como C; si estuviera etiquetada como C++, entonces la función no aceptaría ningún argumento. Para convertirlo en una función que no tome argumentos (en C), usaría:

typedef void (*MCB)(void);

Esta es una de las áreas en las que hay una diferencia significativa entre C, que todavía no requiere que todas las funciones sean prototipadas antes de ser definidas o utilizadas, y C++, que sí lo requiere.

Introduce un tipo de puntero de función, que apunta a una función que no devuelve nada (void), sin tomar ningún parámetro y nombrando el nuevo tipo MCB.

El typedef define MCB como el tipo de un puntero a una función que no acepta argumentos y devuelve void.

Tenga en cuenta que MCB Modes::m_process = NULL; es C++, no C. Además, en C, el typedef realmente debería ser typedef void (*MCB)(void);.

No estoy seguro de lo que quieres decir con “la memoria fue liberada”. Usted tiene un static puntero a una función; una función no se puede liberar. A lo sumo, su puntero se ha reiniciado en alguna parte. Simplemente depure con un reloj de memoria activado m_process.

Valoraciones y reseñas

Te invitamos a añadir valor a nuestro contenido informacional colaborando tu experiencia en las aclaraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *