0

可能重复:
memcpy(),size参数的值应该是多少?

我想复制一个动态数组:

g  = new complex<double> [N*N]; 

in类型fftw_complex*:_

in = (fftw_complex*) fftw_alloc_complex(N*N);

当我使用:

in= (fftw_complex*) fftw_alloc_complex(N*N);
memcpy( in , g , sizeof(g));
out = (fftw_complex*) fftw_alloc_complex(N*N);
my_plan = fftw_plan_dft_2d(N,N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);
fftw_execute(my_plan);
fftw_destroy_plan(my_plan);
fftw_free(in);
fftw_free(out);

我得到奇怪的结果。进出都是零。

奇怪的是,当我改用:

memcpy( &in , &g , sizeof(g));

我得到了完全正确的结果,但是有了这条线:

fftw_free(in);

...不起作用。它给出“未处理的异常”错误。

4

0 回答 0