W8028 '識別子' を初期化するために一時変数を使用する (-wlin) (C++)
この警告を無効にするコマンドライン オプション:
-w-lin
C++ では、参照型の変数またはパラメータには、同じ型のオブジェクトへの参照が代入されなければなりません。
型が一致しない場合、実際の値が正しい型の一時変数に代入され、その一時変数のアドレスが、参照変数またはパラメータに代入されます。
この警告は、参照変数またはパラメータが、想定しているものを参照せず、一時変数を指しているか、そうでなければ使用されていないことを示唆しています。
例
この例では、関数 f には int への参照が必要ですが、実際には char の c になっています:
f(int&);
// ...
char c;
f(c);
コンパイラは、c へのアドレスで f を呼び出す代わりに、次のC++ ソース コードに相当するコードを生成します:
int x = c;
f(x);