小编刘林欣*_*刘林欣的帖子

为什么在返回`impl Trait`的函数中出现"匹配武器具有不兼容类型"错误?

trait Counter {
    fn count(&self) -> i32;
}

struct AddCounter {
    a: i32,
    b: i32,
}
impl Counter for AddCounter {
    fn count(&self) -> i32 {
        self.a + self.b
    }
}

struct MulCounter {
    a: i32,
    b: i32,
}
impl Counter for MulCounter {
    fn count(&self) -> i32 {
        self.a * self.b
    }
}

fn get_counter(a: i32, b: i32, op: &str) -> impl Counter {
    match op {
        "+" => AddCounter { a, b },
        "*" => MulCounter { a, …
Run Code Online (Sandbox Code Playgroud)

rust

3
推荐指数
1
解决办法
561
查看次数

标签 统计

rust ×1