试图编译fftw时返回错误
Return error while trying to compile fftw
这是一个c++新手的问题。我正在尝试使用FFTW将FFT应用于复杂的1D数据。
# include <stdlib.h>
# include <stdio.h>
# include <time.h>
#include <fftw3.h>
int main(void)
{
int i;
int N=100;
fftw_complex *in;
fftw_complex *out;
fftw_plan plan_forward;
unsigned int seed = 123456789;
in= (fftw_complex*) fftw_malloc(sizeof(fftw_complex)*N);
out= (fftw_complex*) fftw_malloc(sizeof(fftw_complex)*N);
srand ( seed );
for ( i = 0; i < N; i++ )
{
in[i][0] = rand ( );
in[i][1] = rand ( );
}
plan_forward = fftw_plan_dft_1d ( N, in, out, FFTW_FORWARD, FFTW_ESTIMATE );
fftw_execute ( plan_forward );
for ( i = 0; i < N; i++ )
{
printf ( " %3d %12f %12fn", i, out[i][0], out[i][1] );
}
fftw_destroy_plan ( plan_forward );
fftw_free ( in );
fftw_free ( out );
return;
}
编译后,我得到这个错误:
错误:return语句没有值,函数返回' int ' [-fpermissive]返回;
我不知道如何修复这个错误。任何帮助都会很感激。谢谢。
应该是
int N=100;
(注意;
代替,
)
ffftw_malloc
应该是fftw_malloc
(一开始去掉一个f
)。
此外,编译器可能会给你错误的行号,我建议去那些行仔细检查,这样你就可以学会自己调试;)
最后,main
返回int,因此返回语句需要一个值。(0
应该是好的)注意: main
函数是特殊的,因为它在末尾有一个隐式的return 0;
,所以它是唯一一个允许"结束"的返回值的函数。但是如果在main
中使用return语句,则必须提供一个值。
错误信息是不言自明的-您需要更改:
return;
:
return 0;
这样做的原因是main
返回一个int
,所以你需要一个值在这里,也就是说,你不能只是返回"nothing"
相关文章:
- (C++)分析树以计算返回错误值的简单算术表达式
- glad 导致 glfwSwapBuffers 返回错误消息
- 我的模板类方法返回错误类型?
- 共享内存:MapViewOfFile 返回错误 5
- 使用 std::forward_list 返回错误的队列实现
- FFMPEG:sws_scale返回错误:切片参数 0, 2160 无效
- __int64 CString 返回错误的值 - C++ MFC
- C++ OpenGL 中,绘制形状返回错误
- Python os.system() 返回错误值
- 函数从指针 c++ 中获取错误的值并返回错误的答案
- LibClang clang_getArgType() 返回错误的类型
- 除法函数返回错误的值
- 当命令失败时,gzip 会在 C++ 中返回错误代码吗?
- 矩阵逆变器返回错误的反转
- openCL-创建子缓冲区返回错误代码13
- Qt SQL LIKE语句返回错误
- GetLastError()从FtpPutFile()返回错误6
- PfCreateInterface返回错误120(未实现)
- 为什么 Pa_GetStreamTime() 返回错误?
- G++ 在尝试使用 G++ 使用 openCV 进行编译后返回错误