4

重複の可能性:
左辺値参照への一時的なバインド

VS2008 C++ コンパイラでは、コードはコンパイル エラーなしでコンパイルされます。

class A{};

int main(){
    A& a_ref = A(); 
    return 0;
}

私は、C++2003 と今後の C++0x の両方の C++ 標準がそれを禁止していると信じています。また、gcc コンパイラでコンパイル時エラーが発生します。

だから私が知りたいのは、これはVSコンパイラが一時オブジェクトからの参照を初期化できるという既知のバグです。

それともVSコンパイラの機能拡張ですか?はいの場合、一時オブジェクトのライフサイクルは何ですか?

4

1 に答える 1

1

これは拡張機能です。このリンクで説明されています。 constを取り出したらどうなりますか

于 2011-06-28T02:55:19.047 に答える