1

ここに私の問題があります。ここに何かが欠けているに違いありません。

 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: 定数式が必要です」

nfft が定数であるという事実を考えると、何が悪いのかわかりません。

ありがとう

4

1 に答える 1

2

nfft が定数であるという事実を考えると、何が間違っているのかわかりません

Cでは、const変数は実際には定数ではなく、読み取り専用オブジェクトに似ています。そのため、真の定数を使用できるすべての場所 (配列のサイズなど) で使用できるわけではありません。

おそらく、代わりにマクロを使用できます。

#define NFFS (256 * 1024)

ちなみに、このテーマに関する C FAQ のエントリもあります

于 2013-10-02T09:41:18.787 に答える