坚炜小白日记 2023-01-10 11:14 采纳率: 91.7%
浏览 27
已结题

clion中rust变量debug值与实际显示不符

最近刚开始学习rust,发现rust中同一个变量名称可以定义多次并取最后一次的值。但我在编译器Clion使用debug模式进行调试的时候发现demo中的num变量仍显示为第一行中的浮点值,但结果显示是后面的String,请问这个是Clion的bug吗还是什么

img

img

  • 写回答

1条回答 默认 最新

  • 快撑死的鱼 2023-01-16 15:21
    关注

    回答不易,求求您采纳哦

    这不是 Clion 中的错误,而是变量在调试模式下的显示方式与其实际值的差异。

    Rust 是一种非常注重所有权和借用的语言,它不允许在定义变量后重新分配它。但是,变量名可以被另一个同名变量覆盖。这个新变量将与前一个变量同名,但具有不同的类型和值。

    当您在 Clion 中调试代码时,变量名称 num 在第一行中显示为浮点值,因为这是它的初始值。但是,当稍后在代码中隐藏该变量时,它会采用新的类型和值,即 String。Clion 的调试模式可能无法自动更新变量的类型和值,这就是为什么它仍然显示初始值的原因。

    作为解决方案,您可以通过打印来检查代码中变量的值。

    此外,您可以尝试使用 rust 的调试功能,例如println!("{:?}", variable)或dbg!(variable)在运行时查看变量值及其类型。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月27日
  • 已采纳回答 1月19日
  • 创建了问题 1月10日

悬赏问题

  • ¥15 python变量和列表之间的相互影响
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)