我試圖實現一個簡單的環形緩衝區使用結構。我從來沒有使用過結構,只是開始嘗試理解它們。編譯器退出時出現此錯誤:簡單的C結構將不會編譯
expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
錯誤指的是最後兩行。
#define MAX_PROCESSES 16
struct ring_buffer{
uint8_t data[MAX_PROCESSES];
uint8_t size;
uint8_t count;
uint8_t write_pos;
uint8_t read_pos;
};
struct ring_buffer ring_buffer_processes;
ring_buffer_processes.size = MAX_PROCESSES;
ring_buffer_processes->size = MAX_PROCESSES;
我已經使用to運算符只是爲了測試目的,看看它是否有效。這當然只應該是一條線。
我也嘗試過使用「typedef」,但這也沒有幫助。這裏有什麼問題?
感謝
刪除最後一行,您通過'。'到達結構成員。 operator –
@Peder它編譯得很好:https://godbolt.org/g/j3NO3P – Midas
如果這是你的整個代碼,你必須將最後兩行包裝在main()中 – Gar