我有一个问题...我在c ++中有一个返回双指针的函数:
double * Calc_ToF_low::CalcToF(int16_t* señal, int fs){
double ToF_est [4]={0,0,0,0};
ToF_est[0]=time_est(result2,fs);
ToF_est[1]=ToF_est[0];
ToF_est[2]=ToF_est[0];
ToF_est[3]=ToF_est[0];
return(ToF_est);
主要是:
double *ToF_est;
ToF_est=ToFobject.CalcToF(señal,fs);
当我这样做时:
cout<<ToF_est[0]<<endl;
没有相同的价值......为什么??
由于
答案 0 :(得分:3)
您无法返回指向自动局部变量的指针。它调用未定义的行为。函数返回后,ToF_est
不再存在
如果要返回指针,请使用动态分配(new
)。
double *ToF_est = new double [4];