gpt4 book ai didi

syntax - 奇怪的语法错误 'error: expected one of ` ,` or ` :`, found ` else`'

转载 作者:行者123 更新时间:2023-12-02 10:41:27 30 4
gpt4 key购买 nike

<分区>

目前我正在开发一个用 Rust 编写的虚拟机。我遇到了两个语法错误,我正在努力解决这两个错误,因为它们对我来说似乎不太有意义。

代码如下:

pub fn aaa(vm: &mut VM, pipeline: &Pipeline, _hv: &mut dyn Hypervisor) -> Result<(), VMError>{
let mut al = vm.get_reg(Reg8::AL as u8, ValueSize::Byte)?.u8_exact()?;
let ah = vm.get_reg(Reg8::AH as u8, ValueSize::Byte)?.u8_exact()?;
let adjust = vm.flags.adjust;
if (al & 0x0F) > 9 | | adjust {
vm.set_reg(Reg8::AL as u8, SizedValue::Byte(al1.overflowing_add(6)));
vm.set_reg(Reg8::AH as u8, SizedValue::Byte(ah.overflowing_add(1)));
vm.flags.adjust = true;
vm.flags.carry = true;
} else {
vm.flags.adjust = false;
vm.flags.carry = false;
}
al = vm.get_reg(Reg8::AL as u8, ValueSize::Byte)?.u8_exact()?;
vm.set_reg(Reg8::AL as u8, SizedValue::Byte(al2 & 0x0F));
Ok(())
}

我得到的错误在这里:

error: expected `,`
--> src/ops.rs:738:9
|
738 | vm.set_reg(Reg8::AL as u8, SizedValue::Byte(al1.overflowing_add(6)));
| ^^

--> src/ops.rs:738:9
|
738 | vm.set_reg(Reg8::AL as u8, SizedValue::Byte(al1.overflowing_add(6)));
| ^^

error: expected one of `,` or `:`, found `else`
--> src/ops.rs:742:7
|
742 | } else {
| ^^^^ expected one of `,` or `:` here

我只是想访问结构字段实现的函数,我不确定为什么编译器会告诉我使用逗号而不是句号。此外,我不知道为什么它需要逗号或冒号而不是我的 else 语句。 if else 似乎完全对齐。还有其他人遇到这个吗?这是编译器错误吗?

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