W8028 '識別子' を初期化するために一時変数を使用する (-wlin) (C++)

提供: RAD Studio
移動先: 案内検索

コンパイラのエラーと警告(C++):インデックス への移動


この警告を無効にするコマンドライン オプション:

-w-lin

C++ では、参照型の変数またはパラメータには、同じ型のオブジェクトへの参照が代入されなければなりません。

型が一致しない場合、実際の値が正しい型の一時変数に代入され、その一時変数のアドレスが、参照変数またはパラメータに代入されます。

この警告は、参照変数またはパラメータが、想定しているものを参照せず、一時変数を指しているか、そうでなければ使用されていないことを示唆しています。

この例では、関数 f には int への参照が必要ですが、実際には char の c になっています:

 f(int&);

// ...

char c;
f(c);

コンパイラは、c へのアドレスで f を呼び出す代わりに、次のC++ ソース コードに相当するコードを生成します:

 int x = c;
f(x);