我有一个struct
类似的东西:
struct Foo<'a> {
callbacks: Vec<&'a FnMut(u32)>,
}
我想调用每个回调,但是我的尝试不起作用:
fn foo(&mut self) {
for f in &mut self.callbacks {
(*f)(0);
}
}
我收到此错误:
error: cannot borrow immutable borrowed content `**f` as mutable
我也尝试过,iter_mut()
但是得到了同样的错误。
FnMut
需要一个可变的接收器,因此您必须具有可变的引用才能调用它:
struct Foo<'a> {
callbacks: Vec<&'a mut FnMut(u32)>,
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句