我正在使用VC ++ 2010运行fftw。
我的程序采用复杂高斯的2D傅里叶变换。
问题如下:
我的输入高斯是复杂的类型< double> *,我将它转换为fftw_complex *使用 in = reinterpret_cast< fftw_complex * GT(高斯)。
接下来,当我尝试采取实际部分时:
g_real=real(in[nx+N*ny]);
我得到错误:没有函数模板“std :: real”的实例与参数列表匹配。
我通过定义:
以一种繁琐的方式解决了这个问题 temp_in = (complex< double>*)in;
然后取得temp_in的真实部分。
然后我发现我无法删除程序末尾的temp_in *。 我试过了:
1)using delete [] temp_in
2)free(temp_in)
3)reinterpret_cast< fftw_complex*>(temp_in);fftw_free(temp_in);
以上都不起作用。
任何人都可以建议如何在没有definig temp_g和/或如何删除temp_g的情况下采取真实的部分吗?
非常感谢。