title: Why can the return type of main not be deduced?
body: <p>As expected, the following fails in C++11 because that language does not have return type deduction for bog standard functions:</p>
  
  <pre><code>auto main()
  {
     return 0;
  }
  </code></pre>
  
  <p>However, C++14 does, so I cannot explain the following error (with equivalent outcomes in GCC trunk, clang 3.8 and Visual Studio 2015):</p>
  
  <pre><code>error: 'main' must return 'int'
  </code></pre>
  
  <p>Is there a passage in the standard that I'm not seeing, forbidding return type deduction for <code>main</code>? Or are both compilers non-compliant?</p>
  
  <p><em>(For what it's worth, I'd never actually do this. <code>int main()</code> for the win&hellip;)</em></p>