次の関数があります (Visual C++ 2005 で記述)
int &getInt_1()
{
int a = 5;
int &p = a;
int p1 = p; // Line 1
return p1;
}
int &getInt_2()
{
int a = 5;
int &p = a;
return p;
}
私がこれまでに知っていたように、上記の関数は両方ともローカル変数のアドレスを返します。私が正しければ、次のような質問があります。
上記の機能の違いは何ですか?なぜ
getInt_1()コンパイラ ("returning address of local variable")から警告が表示されgetInt_2()ないのに、警告が表示されるのですか?とは
Line 1どういう意味ですか? の後Line 1、 もp1参照になりaますか?