左辺値から右辺値への変換

コンパイラーが右辺値を期待している状況で左辺値が現れた場合、コンパイラーは、左辺値を右辺値に変換します。

T の左辺値 e は、T が関数型または配列型でなければ、 右辺値に変換できます。 変換後、e の型は T になります。 これに対する例外を、次の表にリストします。


変換前の状況 結果の振る舞い
T は不完全型である コンパイル時エラー
e は、未初期化オブジェクトを参照している 未定義な振る舞い
e は、型 T でないオブジェクトを参照している 未定義な振る舞い
C++ e は、型 T でないオブジェクト、または T から派生した型でないオブジェクトを参照している
未定義な振る舞い
C++ T は非クラス型である
変換後の e の型は T で、const または volatile によって修飾されていない

関連参照

IBM Copyright 2003