FFTW手册says它的fftw_complex
类型是位兼容到STL的std::complex<double>
类。但是,这并不为我工作:问题铸造STL复杂<double> fftw_complex
#include <complex>
#include <fftw3.h>
int main()
{
std::complex<double> x(1,0);
fftw_complex fx;
fx = reinterpret_cast<fftw_complex>(x);
}
这给了我一个错误:
error: invalid cast from type ‘std::complex<double>’ to type ‘double [2]’
我在做什么错?
好吧,这对我很有用!3年不纯C编码:)非常感谢。 – galadog 2010-11-18 12:09:50
@galadog 是否需要memcpy?为什么你不能这样做: 'std :: complex x(1,0); fftw_complex * fx =&x' –
2011-10-22 01:40:52
@Andre Boos:因为这打破了严格的别名规则...... – Goz 2011-10-22 07:36:32