可能重复:
将临时绑定到左值引用
使用VS2008 C++编译器,编译代码没有编译错误。
class A{};
int main(){
A& a_ref = A();
return 0;
}
我相信 C++ 标准,包括 C++2003 和即将到来的 C++0x,都不允许它。而且我还收到 gcc 编译器的编译时错误。
所以我想知道的是,这是 VS 编译器允许从临时对象初始化引用的已知错误。
还是 VS 编译器的功能扩展?如果是,临时对象的生命周期是什么?
可能重复:
将临时绑定到左值引用
使用VS2008 C++编译器,编译代码没有编译错误。
class A{};
int main(){
A& a_ref = A();
return 0;
}
我相信 C++ 标准,包括 C++2003 和即将到来的 C++0x,都不允许它。而且我还收到 gcc 编译器的编译时错误。
所以我想知道的是,这是 VS 编译器允许从临时对象初始化引用的已知错误。
还是 VS 编译器的功能扩展?如果是,临时对象的生命周期是什么?