次のコードで問題が発生しました。
#include <iostream>
using namespace std;
double* FillArray(void)
{
double result[5];
for (int i = 0; i<5;i++){
result[i]=(double) i;
}
return result; // return the pointer
}
int main()
{
double * a = FillArray();
for (int i = 0; i<5;i++){
cout << a[i] << endl; // print out the array
}
return 0;
}
出力は奇妙です:
0
3.47187e-236
8.89753e-308
8.8976e-308
3.90251e-236
私のコードで何が間違っているか教えていただけますか? 関数を使用して配列を返し、それを main() に出力しようとしました。