title: constexpr not compiling in VC2013
body: <p>This constexpr code does not compiled in Visual Studio 2013 version 12.0.21005.1 REL</p>
  
  <p>Is there a newer Visual Studio compiler that works with constexpr?</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  constexpr int factorial(int n)
  {
      return n &lt;= 1 ? 1 : (n * factorial(n - 1));
  }
  
  int main(void)
  {
      const int fact_three = factorial(3);
      std::cout &lt;&lt; fact_three &lt;&lt; std::endl;
      return 0;
  }
  </code></pre>
  
  <p>output from compilation:</p>
  
  <pre>    1>------ Build started: Project: Project1, Configuration: Debug Win32 ------
      1>  Source.cpp
      1>....\source.cpp(3): error C2144: syntax error : 'int' should be preceded by ';'
      1>....\source.cpp(3): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
      ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========</pre>
  
  <p>Herb Sutter mentions constexpr on his blog but is unclear in what version it works / will work? <a href="http://herbsutter.com/2013/09/09/visual-studio-2013-rc-is-now-available/#comment-13521">http://herbsutter.com/2013/09/09/visual-studio-2013-rc-is-now-available/#comment-13521</a></p>