【发布时间】:2014-05-19 16:42:59
【问题描述】:
所以我有一个特征,我想传递并执行一些动态方法调度。我有一个方法需要将特征作为盒装指针,但它需要调用另一个使用特征引用的方法。所以像:
trait Foo {
fn do_something(&self);
}
struct Bar;
impl Foo for Bar {
fn do_something(&self) {}
}
fn foo_as_box(foo : Box<Foo>) {
foo_as_ref(&foo);
}
fn foo_as_ref(foo : &Foo) {
foo.do_something();
}
fn main() {
let boxed_foo = box Bar as Box<Foo>;
foo_as_box(boxed_foo);
}
但是,我收到此代码的错误
error: failed to find an implementation of trait Foo for Box Foo<no-bounds>
【问题讨论】:
标签: rust