我开始知道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。我不明白这应该怎么回事。
答案 0 :(得分:2)
是不是要求
fun
生成临时的?
是
为什么临时可以链接到非const引用。
它不能。
我无法理解为什么这个编译很好。
因为你的编译器有问题。
我正在使用VS2010。我不明白这应该怎么回事。
该编译器对该语言有许多非标准的“扩展”。这只是该编译器接受的狡猾代码的一个例子,但不是一致的。