我正在尝试编写一个简单的函数,该函数将弹出满足特定条件的二叉堆元素。该函数如下所示:
我该如何解决这个问题,并让借用检查器满意?
fn check_the_queue(mut queue: BinaryHeap<i32>) {
while !queue.is_empty() {
let entry = queue.peek().unwrap();
if *entry <= 0 {
queue.pop();
}
}
当编译借用检查器开始报错时:
src/main.rs:52:13: 52:18 error: cannot borrow `queue` as mutable because it is also borrowed as immutable
我该如何解决这个问题,并让借用检查器满意?