title: Is this a vc++ bug?
body: <p>Ive just tested the following code against vc++ 2015, g++ 4.8.4 and clang 3.4:</p>
  
  <pre><code>    #include &lt;iostream&gt;
  
      using namespace std;
  
      class X { };
  
      void f( /* const */ X &amp;x )
      {
          cout &lt;&lt; "void f( const X &amp;x )" &lt;&lt; endl;
      }
  
      int main()
      {
          f( X() );
          return 0;
      }
  </code></pre>
  
  <p>As far as I know, f( X() ) should be only ok, if f receives a const-reference. g++ and clang don't compile the code. So this seems to be a VC++-bug?</p>