title: Why can't a typedef of a function be used to define a function?
body: <p>From § 8.3.5.11 of ISO/IEC 14882:2011(E):</p>
  
  <blockquote>
    <p>A typedef of function type may be used to declare a function but shall not be used to deﬁne a function</p>
  </blockquote>
  
  <p>The standard goes on to give this example:</p>
  
  <pre><code>typedef void F();
  F fv; // OK: equivalent to void fv();
  F fv { } // ill-formed
  void fv() { } // OK: deﬁnition of fv
  </code></pre>
  
  <p>What motivates this rule? It seems to limit the potential expressive usefulness of function typedefs.</p>