繁体   English   中英

Rust:如何通过期权 <trait> 作为函数参数?

[英]Rust: How do you pass an Option<trait> as a function parameter?

我不断收到“尺寸未实现”的提示。 如何将wp插入函数foo? 我以为拳击会给它一个大小,但是无论有没有,我都会得到相同的错误。

fn main() {
    let wp : Option<Waypoint>= new(45.1968, -75.1968);
    foo(box wp);
}

fn foo(wp: Box<Option<Coord>>) {
    println!("lat: {}, lon:{}", wp.lat(), wp.lon());
}

完整的代码

您可以改用Option<Box<Coord>> Box<T>能够获取未调整大小的数据,但Option不能。

您只能通过引用使用未定尺寸的类型,而不能直接处理它们的实例。 (Rust需要始终知道堆栈上的数据大小)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM