title: Passing empty QString by reference
body: <p>I have a method that has this signature</p>
  
  <pre><code>void SetFoo(QString&amp; foo);
  </code></pre>
  
  <p>and I'm trying to pass an empty string inline, but none of the following compile </p>
  
  <pre><code>SetFoo("");
  SetFoo(QString(""));
  </code></pre>
  
  <blockquote>
    <p>(error: no matching function for call to ‘MyClass::SetFoo(QString)’)</p>
  </blockquote>
  
  <p>but if I create a variable like this, it works.</p>
  
  <pre><code>QString emptyFoo = "";
  SetFoo(emptyFoo);
  </code></pre>
  
  <p>Is there not a way to call the method without creating a variable explicitly?</p>
  
  <p>NOTE:
        Everything seem to work in windows environment with using vc++ compiler but I encounter the above mentioned compilation error in linux environment using g++.</p>