구조체 슬라이스를 반복 할 때 얻을 수있는 값은 참조 (괜찮습니다)이지만 경우에 따라 을 여러 위치에 (*var)
으로 써야하는 것은 귀찮습니다.녹에서 레퍼런스 대신 슬라이스의 값을 반복 하시겠습니까?
변수를 다시 선언하는 것을 피할 수있는 더 좋은 방법이 있습니까?
fn my_fn(slice: &[MyStruct]) {
for var in slice {
let var = *var; // <-- how to avoid this?
// Without the line above, errors in comments occur:
other_fn(var); // <-- expected struct `MyStruct`, found reference
if var != var.other {
// ^^ trait `&MyStruct: std::cmp::PartialEq<MyStruct>>` not satisfied
foo();
}
}
}
참조 : actual error output (더 비밀).
포인터없이 원하는대로 할 수 있습니다. –
아니요,이 경우가 아닙니다. 일부 작업은 작동하지만 충분하지는 않습니다. – ideasman42
'var'를 그대로 사용하는 대신에'let var = * var'을 사용해야 할 곳에 예제를 제공 할 수 있습니까? –