Hace un tiempo encontré que es posible escribir una función C++ que toma un parámetro de tipo de función (no tipo de puntero a función!). Por ejemplo, aquí es una función que toma una función de devolución de llamada que acepta y devuelve un doble:¿Qué significa pasar un parámetro del tipo de función en C++?
void MyFunction(double function(double));
Mi pregunta es lo que significa tener una variable de tipo función, ya que no se puede declarar una en cualquier otro contexto. Semánticamente, ¿cómo es diferente de un puntero de función o referencia a una función? ¿Hay alguna diferencia importante entre los punteros de función y las variables del tipo de función que debo tener en cuenta?
Nunca había visto C++ así antes. –
Por lo que sé, no es posible en C++. ¿Puedes dar un ejemplo si esto fue posible? –
Esta es una de esas cosas como array taquigrafía 'arrData == & arrData [0]' pero no lo he visto desde que 'boost :: function' apareció en el visto y cuando las funciones lambda son totalmente compatibles que cambiarán las cosas también. – AJG85