静态可变数组在Rust中不起作用

时间:2016-11-26 09:47:47

标签: arrays rust mutability

我有一个全局静态数组,我在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

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:1)

我刚刚想出答案。我还必须将数组中的变量声明为可变的。我这样做是为了改变:

pub static mut WON_TABLE: &'static [u8] = &[0; 1000];

为:

pub static mut WON_TABLE: &'static mut [u8] = &mut [0; 1000];

我希望这个答案对将来遇到类似问题的人有用。如果其他人可以扩展这个,它会很棒! :d