[英]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.