¿Por qué no se puede usar typedef de una función para definir una función?
Del § 8.3.5.11 de ISO / IEC 14882: 2011 (E):
Se puede usar un typedef de tipo de función para declarar una función, pero no se debe usar para definir una función
El estándar continúa dando este ejemplo:
typedef void F();
F fv; // OK: equivalent to void fv();
F fv { } // ill-formed
void fv() { } // OK: definition of fv
¿Qué motiva esta regla? Parece limitar la utilidad expresiva potencial de las funciones typedefs.