title: Why does this user-defined literal not work?
body: <p>The following <em>does not</em> work on G++ 4.8.1 nor on 4.9:</p>
  
  <pre><code>constexpr double operator"" _sig (double sig)                               
  {                                                                           
      return sig * 2.0;                                                      
  }
  </code></pre>
  
  <blockquote>
    <p>prog.cpp:4:49: error: ‘constexpr double operator"" _sig(double)’ has
    invalid argument list
         constexpr double operator"" _sig (double sig)</p>
  </blockquote>
  
  <p>Oddly enough, the following <em>does</em> work:</p>
  
  <pre><code>constexpr long double operator"" _sig (long double sig)                               
  {                                                                           
      return sig * 2.0;                                                      
  }   
  </code></pre>
  
  <p>Why??</p>