我開始學習Rust並且在C中有一個背景。在Rust中指定數組大小時,C的#define等效於什麼?
我試圖將下面的C代碼片段轉換爲Rust。該代碼定義了一個數組uint8_t
,其大小在編譯時定義。
#define GRID_SIZE 100
uint8_t grid[GRID_SIZE];
memset (grid, 0x00, GRID_SIZE);
我曾嘗試在魯斯特
let grid_size: i32 = 10;
let mut grid: [i32; grid_size] = [0; grid_size];
編譯器抱怨error: use of undeclared type name `grid_size` [E0412]
仰望錯誤E0412並沒有向我提供任何線索以下。這可能在Rust嗎?
http://stackoverflow.com/q/25474152/155423的潛在副本。 – Shepmaster
數組類型長度無效錯誤消息相關的問題:https://github.com/rust-lang/rust/issues/24414 –
你真的鍵入'[i32 :: grid_size]'或它是'[i32; grid_size]'? –