gpt4 book ai didi

loops - 在 FnMut 向量中迭代并调用闭包

转载 作者:行者123 更新时间:2023-11-29 07:58:11 26 4
gpt4 key购买 nike

我有一个类似这样的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)>,
}

关于loops - 在 FnMut 向量中迭代并调用闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38331779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com