[C++11: 5.1.2/3]:
El tipo de la expresión lambda (que también es el tipo del objeto de cierre) es un tipo de clase sin unión único, sin nombre, llamado tipo de cierre , cuyas propiedades se describen a continuación. Este tipo de clase no es un agregado (8.5.1). El tipo de cierre se declara en el ámbito de bloque más pequeño, ámbito de clase o ámbito de espacio de nombres que contiene la expresión lambda correspondiente . [..]
La cláusula continúa para enumerar las diferentes propiedades de este tipo. Aquí hay algunos puntos destacados:
[C++11: 5.1.2/5]:
El tipo de cierre para un lambda-expresión tiene un público inline
operador de llamada de función (13.5.4) cuyos parámetros y tipo de retorno se describen por el lambda-expresión ‘s declaración-parámetro-cláusula y de tipo de retorno de salida respectivamente. [..]
[C++11: 5.1.2/6]:
El tipo de cierre para un lambda-expresión sin lambda de captura tiene una función pública no virtual no explícita conversión a const puntero a la función que tienen los mismos parámetros y valores de retorno como operador de llamada de función del tipo de cierre. El valor devuelto por esta función de conversión será la dirección de una función que, cuando se invoca, tiene el mismo efecto que invocar al operador de llamada de función del tipo de cierre.
La consecuencia de este pasaje final es que, si se ha utilizado una conversión, que sería capaz de asignar LAMBDA
a pFptr
.