2
enum A {
Foo,
Bar,
Baz(~str)
}
#[test]
fn test_vector(){
let test_vec = ~[Foo, Bar, Baz(~"asdf")];
for x in test_vec.iter() {
match x {
&Foo => true,
&Bar => true,
&Baz(x) => x == ~"asdf"
};
}
}
我收到以下錯誤:
stackoverflow.rs:15:13: 15:19 error: cannot move out of dereference of & pointer
stackoverflow.rs:15 &Baz(x) => x == ~"asdf"
^~~~~~
error: aborting due to previous error
如果我改變字符串爲int它編譯好。
我的問題是:如何訪問for循環中枚舉中的擁有指針的內容?有沒有我應該使用的替代迭代器?
我使用的Rust版本是由master編譯的。
我不靠近我的電腦,和0.7無法安裝這檯筆記本電腦,但我想你應該嘗試'&巴茲(REF X)' 。 –