我一直在"大小没有实现"。如何让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());
}
答案 0 :(得分:4)
您可以改用Option<Box<Coord>>
。 Box<T>
能够获取未经过身份验证的数据,但Option
不是。
您只能通过引用使用未经过类型化的类型,并且无法直接处理它们的实例。 (Rust需要始终知道堆栈上数据的大小)