Visual Studio デベロッパー センター > Visual Studio フォーラム > Visual Studio 2010 ベータ > VC++10.0の右辺値参照をreinterpret_castで使えないのは仕様?
質問する質問する
 

質問VC++10.0の右辺値参照をreinterpret_castで使えないのは仕様?

  • 2009年6月20日 11:07USAGI-WRP ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     

    auto x = 0x01234567UL;
    auto f1 = reinterpret_cast<float&&>(x); // OK
    auto f2 = reinterpret_cast<float&&>((x & 0x007fffff) | 0x3f800000) - 1.0f; // C2102

    >error C2102: '&' に左辺値がありません。

    と、言った具合です。

    Rvalue のリファレンス Declarator: &&
    http://msdn.microsoft.com/ja-jp/library/dd293668%28VS.100%29.aspx

    static_castで&&して左辺値を右辺値にできますよって事は書いてありますが、reinterpret_castについては触れられていない様です。
    reinterpret_castで使えるととてもありがたい気がしますが、どうなんでしょう。

    開発環境
    Windows7RC(x64)Ultimate + VS2010beta1(日本語版)

すべての返信

  • 2009年6月28日 20:02USAGI-WRP ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    自己レスです。一週間以上もレスが付かない状態ですので、大変申し訳ないのですが元の発言者である私もそろそろスレッドの監視を怠ろうかと思います。
    もし、以後に本件に興味のある方がいらっしゃいましたら流用して議論、質疑等で有効に継続して頂いても構わないと思います。

    # VS2010のIDEに誘導されてこちらに投稿したのですが、場違いだったかな・・・。
    # 以後しばらくチェックしないと思うので、もし返信下さる場合は誠に勝手ながら、あまり応答をご期待なさらないで頂ければ幸いです。
    WonderRabbitProject http://WonderRabbitProject.net/