C++ のポインターに関する問題が発生します。コードは次のとおりです。
int * initArray() {
int a [2];
a[0] = 1;
a[1] = 2;
return a;
}
int main () {
int * b = initArray();
cout << b << "---" << *(b) << endl;
cout << b + 1<< "---" << *(b + 1) << endl;
}
出力は
0021FC20---1
0021FC24---1431629120
値が間違っていることがわかります。
init
配列コードをメイン関数に入れようとすると、正しく実行されます。
私のコードで何が間違っているか教えていただけますか?