0
我想初始化一個下面的結構體,名爲arduino_lcd_t
。因爲我使用的外設可以一次寫入四位數據,或一次寫入八位數據,所以我決定使用一個宏來相應地定義它自己。但是,我無法編譯此代碼,可能是因爲#ifdef
的宏。我得到了警告無法用ifdef'd宏初始化數組結構中的數組
declaration does not declare anything
難道只有一些我沒做對的事情,或者不能這樣做嗎?相關代碼如下。
#define FOUR_BIT_MODE 1
#ifdef FOUR_BIT_MODE
#define DATA_LEN 4;
#else
#define DATA_LEN 8
#endif
typedef struct
{
long lighting_pin;
long register_select_pin;
long read_write_pin;
long enable_pin;
**long data_pins[DATA_LEN];**
} arduino_lcd_t;
'#define DATA_LEN 4;'<< ---你有';'進入數組聲明的中間:data_pins [4;]; – fukanchik