rust 为什么这个不安全的块返回一个单位类型?

bfnvny8b  于 2023-10-20  发布在  其他
关注(0)|答案(1)|浏览(101)

我不太明白unsafe和赋值是如何一起工作的。下面的代码给了我一些错误:

fn num() -> u64 {
    1;
}

fn test() -> u64 {
    let x = unsafe {
        num();
    };
    return x;
}

错误是:

src/main.rs:37:9: 37:10 note: expected type `u64`
src/main.rs:37:9: 37:10 note:    found type `()`

我的真实的例子与此类似。

k5ifujac

k5ifujac1#

分号。

fn num() -> u64 {
    1
}

fn test() -> u64 {
    let x = unsafe {
        num()
    };
    return x;
}

See also this answer about semicolons

相关问题