代码之家  ›  专栏  ›  技术社区  ›  Andrei Krotkov

作业失败

  •  1
  • Andrei Krotkov  · 技术社区  · 17 年前

    int speed = this->values.speed;
    int ref = this->values.ref_speed;
    

    跨过第一行后,values.speed的值为61,但由于某些原因,speed被指定为值58。在第二行之后,values.ref_speed的值为58,但ref的值为30。

    暂停时,您可以看到原始值实际上分别为61和58,但存储的值不同。

    是什么导致了这种行为?

    3 回复  |  直到 16 年前
        1
  •  6
  •   David    17 年前

    如果在头文件中更改了值结构的定义,并且没有重新编译所有的对象文件,则可能会发生这种情况。那么您在此文件中的代码所使用的结构的“映射”可能与代码的其余部分不匹配。这可以解释为什么其中一个变量似乎具有另一个变量的值。

        2
  •  1
  •   sean e    17 年前

        3
  •  0
  •   David Thornley    17 年前