title: precedence parenthesis in C++ definitions
body: <p>Why is the following code illegal in C++?</p>
  
  <pre><code>(int) foo()
  {
      return 0;
  }
  </code></pre>
  
  <p>After all, the first parenthesis in </p>
  
  <pre><code>int( * foo )();
  </code></pre>
  
  <p>suggests that parenthesis can be used for precedence purposes in declarations.</p>