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