Temporaries
非 const 参照にバインドされていないことがわかりました。
class X
{
int i;
};
X fun()
{
return X();
}
void func(X &x)
{
}
int main()
{
func(fun());
return 0;
}
fun
一時的な生産への呼び出しではありませんか?ここに一時的にリンクできる理由non-const reference
。なぜこのコンパイルがうまくいくのか理解できません。
編集:VS2010を使用しています。これがどのように重要なのかわかりません。