小编ner*_*ind的帖子

无法移出共享引用后面的 ***

我正在学习 Rust,我有一个关于如何将变量的引用传递给函数并使用它进行级联调用的问题。

我正面临以下代码中指出的错误:

struct User {
    name: String,
    address: String
}

// Argument "user" is intentionaly a reference to User struct;
//
fn func1(user: &User) {
    println!("func1: {}, {}", user.name, user.address);

    // error[E0507]: cannot move out of `*user` which is behind a shared reference
    //
    func2(*user);
}

// Argument "user" is intentionaly an instance of User struct;
//
fn func2(user: User) {
    println!("func2: {}, {}", user.name, user.address);
}

fn main() {
    let user = User {
        name: String::from("George"),
        address: String::from("Main …
Run Code Online (Sandbox Code Playgroud)

rust

5
推荐指数
1
解决办法
2444
查看次数

标签 统计

rust ×1