コードは次のようになります。
void fUnc(float b){
//does nothing
}
float* fInit(void){
float result[3];
result[0] = 1.0;
result[1] = 1.0;
result[2] = 1.0;
return result;
}
int main(){
float* a = new float[3];
a = fInit();
fUnc(a[0]);
printf("%f, %f, %f", a[0], a[1], a[2]);
return 0;
}
配列要素の値は -107374176.000000 です。fUnc(a[0]) [何もしない] がコメントアウトされている場合、すべてがうまく機能します。どうしたの?
編集:コードは、理解を深めるために少し編集されています