我有一个全局静态数组,我在Rust中声明为查找表。由于一些奇怪的原因,我无法为元素赋值。它看起来像这样:
pub static mut WON_TABLE: &'static [u8] = &[0; 1000];
fn main () {
for mov in 0..1000 {
unsafe {
WON_TABLE[mov as usize] = some_analyzer_function(mov);
}
}
}
由于某种原因,这不起作用,我不断收到错误:
error: cannot assign to immutable indexed content
有谁知道为什么会这样?
答案 0 :(得分:1)
我刚刚想出答案。我还必须将数组中的变量声明为可变的。我这样做是为了改变:
pub static mut WON_TABLE: &'static [u8] = &[0; 1000];
为:
pub static mut WON_TABLE: &'static mut [u8] = &mut [0; 1000];
我希望这个答案对将来遇到类似问题的人有用。如果其他人可以扩展这个,它会很棒! :d