This works:
stringstream temp;
temp << i;
result_stream << transform(temp.str());
(transform
is a function that takes a string
and returns a string
; i
is an int
). However, my attempt to let C++11 create a temporary object without a name didn't work:
result_stream << transform((stringstream() << i).str());
I thought it would work, since the second <<
should just return the first argument and I'd be able to use str()
on that. But I get this error:
error: 'class std::basic_ostream<char>' has no member named 'str'
I'm using g++ 4.8.1 (MinGW-W64).
Is there a way to accomplish this (i.e. write code like this using an unnamed temporary)? (The above code is a bit simplified, and the actual code involves using <<
on arguments other than int
.)