Временное связывание со ссылкой на lvalue
У меня есть следующий код
string three()
{
return "three";
}
void mutate(string& ref)
{
}
int main()
{
mutate(three());
return 0;
}
Вы можете видеть, что я прохожутри() вмутировать метод. Этот код хорошо компилируется. Насколько я понимаю, временные ссылки не могут быть отнесены к неконстантным ссылкам. Если да, то как эта программа компилируется?
есть идеи?
Редактировать:
Компиляторы пробовали: VS 2008 и VS2010 Beta