title: C++11: invalid operands to binary expression ostream and ostringstream
body: <p>Why is the following no longer a valid C++11 code (compiles fine as C++98):</p>
  
  <pre><code>#include &lt;sstream&gt;
  #include &lt;iostream&gt;
  
  int main()
  {
    std::ostringstream os;
    os &lt;&lt; "Hello World!";
    std::cout &lt;&lt; os &lt;&lt; std::endl;
    return 0;
  }
  </code></pre>
  
  <p>for reference here is (truncated) what I get with clang:</p>
  
  <pre><code>$ clang++ -stdlib=libc++ -std=c++11 t.cxx
  t.cxx:8:13: error: invalid operands to binary expression ('ostream' (aka 'basic_ostream&lt;char&gt;') and 'std::ostringstream' (aka 'basic_ostringstream&lt;char&gt;'))
    std::cout &lt;&lt; os &lt;&lt; std::endl;
    ~~~~~~~~~ ^  ~~
  /usr/include/c++/v1/ostream:190:20: note: candidate function not viable: no known conversion from 'std::ostringstream' (aka 'basic_ostringstream&lt;char&gt;') to
        'const void *' for 1st argument; take the address of the argument with &amp;
      basic_ostream&amp; operator&lt;&lt;(const void* __p);
  </code></pre>