Misha Aizatulin wrote:
at the very end of http://stdcxx.apache.org/doc/stdlibug/34-2.html
there is an example of using a reference to create a "copy" of cout.
However this example doesn't initialize the defined reference at once
(which is required in C++) and for this reason doesn't compile with my
That's definitely incorrect. The uninitialized reference is not
C++ and as noted in LWG issue 50, stream objects are not copyable.
The next C++ Standard makes that explicit by declaring the copy
ctor and copy assignment operator of class ios_base deleted.
I opened STDCXX-1024 to have the problematic example removed:
LWG issue #50 for reference
Thanks for pointing it out!
For convenience here is the example:
int main(int argc, char *argv)
if (argc > 1)
fr = *(new std::ofstream(argv));
fr = std::cout;
fr << "Hello world!" << std::endl;