У меня есть этот код:не может выйти из заимствованного контента - ссылка не работает
enum MyEnum1 {
val1,
val2
}
struct Struct1 {
field1: MyEnum1,
field2: String
}
fn fn1(a: Struct1, b: String, c: String) {
let let1 = fn2(&a.field1);
}
fn fn2(a: &MyEnum1) {
let a11 = *a; // error
let s = Struct1 { field1: a11, field2: "fdsfds".to_string() };
}
fn main() {
println!("Hello World!");
}
Ошибка Ошибка: не может выйти из заимствованного контента
Я предложил компилятор использовать ref
или ref mut
, я попытался использовать их, и все равно это не помогло.
fn fn2(a: &MyEnum1) {
let ref a11 = *a; // still the error
let s = Struct1 { field1: *a11, field2: "fdsfds".to_string() };
}
фактически ошибка теперь в следующей строке, а не в строке вы добавили 'еще на error' комментарий –
@ker, нет ..... .. –
решение заключается в реализации копии, вопрос в том, что «не может выйти из заимствованного контента», я думаю, что это очень дубликат –