这是我的问题,我必须在这里遗漏一些东西。
const int nfft = 256 * 1024;
const float samplefrequency = 256.0 * 1024.0 ; // Hz
/* The buffer, spectral and data arrays for the FFT */
kiss_fft_cfg mybuff;
kiss_fft_cpx samples[nfft];
kiss_fft_cpx fftoutput[nfft];
/* The final, averaged spectrum */
double finalspec[nfft/2];
所以这是我代码的一部分。
问题是我无法编译它因为: “错误C2057:表达式constante atteue”第16行 - kiss_fft_cpx samples [nfft]; “错误C2057:需要持续表达”
考虑到nfft是一个常数,我不明白有什么问题。
由于
答案 0 :(得分:2)
考虑到nfft是一个事实,我不明白出了什么问题 恒定
在C const
变量不是真正的常量,更像是只读对象。因此,它们不能用于所有可以使用真常量的地方(例如数组的大小)。
也许您可以使用宏来代替:
#define NFFS (256 * 1024)
顺便提一下,还有关于此主题的C FAQ条目:I don't understand why I can't use const values in initializers and array dimensions。