arduino_lcd_t
으로 알려진 구조체를 초기화하려고합니다. 내가 사용하고있는 주변 장치는 한 번에 4 비트 씩 또는 한 번에 8 비트 씩 데이터를 쓸 수 있기 때문에 이에 맞게 정의하는 매크로를 사용하기로 결정했습니다. 그러나, 나는 #ifdef
의 매크로 때문에 아마이 코드를 컴파일 할 수 없다. 나는 경고를 얻는다ifdef 매크로로 구조체 내부의 배열을 초기화 할 수 없습니다.
declaration does not declare anything
내가 올바르게하지 않고있는 무엇인가 또는 할 수 없냐? 관련 코드는 다음과 같습니다. 매크로는
long data_pins[4;];
4;
#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