Почему определение типа функции нельзя использовать для определения функции?
От § 8.3.5.11 ИСО / МЭК 14882: 2011 (E):
Определение типа типа функции может использоваться для объявления функции, но не должно использоваться для определенияне функция
Стандарт продолжает приводить этот пример:
typedef void F();
F fv; // OK: equivalent to void fv();
F fv { } // ill-formed
void fv() { } // OK: definition of fv
Что мотивирует это правило? Кажется, он ограничивает потенциальную выразительную полезность функции typedefs.