コンパイラの警告 (レベル 1) C4172
ローカル変数またはテンポラリのアドレスを返します
関数は、ローカル変数または一時オブジェクトのアドレスを返します。 ローカル変数と一時オブジェクトは、関数が戻ると破棄されるため、返されたアドレスは無効です。
ローカル オブジェクトのアドレスを返さないように関数を再設計してください。
次の例では C4172 が生成されます。
// C4172.cpp
// compile with: /W1 /LD
float f = 10;
const double& bar() {
// try the following line instead
// const float& bar() {
return f; // C4172
}