I have the following code
string three() { return \"three\"; } void mutate(string& ref) { } int main() { mutate(three()); return 0; }
It is VC++'s evil extension. If You oompile with /W4 then the compiler will warn you. I guess you are reading the Rvalue References: C++0x Features in VC10, Part 2. This article had also mentioned that issue.