時,我有以下typedef結構錯誤使用typedef結構
typedef unsigned int NOTE_FREQ;
/*******A_MUSIC_ELEMENT structure****************/
typedef struct {
NOTE_FREQ frequencyValue;
int duration;
} A_MUSIC_ELEMENT;
現在我要讓A_MUSIC_ELEMENT和具有特定值的數組。
A_MUSIC_ELEMENT ZTitleScreen[] = {{60, 20},{80, 50}};
它編譯得很好。但爲了讓事情更易讀我嘗試設置
int BPM1 = 60;
int BPM2 = 80;
int TIME1 = 20;
int TIME2 = 50;
A_MUSIC_ELEMENT ZTitleScreen[] = {{BPM1, TIME1},{BPM2, TIME2}};
,我得到一個錯誤說:
constant expression required
我不知道爲什麼,因爲它應該是同樣的事情。我正在使用Windows 8,mplab x IDE,嗨技術c編譯器。任何幫助揭祕這個謝謝。
在C++ 11你有一個叫做'const_exp'功能,但在C語言中,你可能會被困在做'HALF_NOTE'的宏中。 – woolstar
確實修復了出現的錯誤,謝謝 – user1945925