gpt4 book ai didi

c++ - 无法在监 window 口中评估包含名为 "by"的术语的 Visual Studio 表达式

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:57 24 4
gpt4 key购买 nike

考虑下面的 C++ 代码:

int _tmain(int argc, _TCHAR* argv[])
{
int by = 10;
printf("%d\n", by);

int bx = 20;
printf("%d\n", (by + bx));

return 0;
}

效果很好。有趣的是“by”变量。如果我尝试为包含 by 的简单表达式添加监视,结果将是 CXX0030:错误:无法计算表达式。

例如,在 return 0 的断点上,如果我添加以下监视,我会得到提到的结果:

by : 10
bx : 20
by + 5 : CXX0030: Error: expression cannot be evaluated
bx + 5 : 25
by + bx : CXX0030: Error: expression cannot be evaluated
(by) + bx : 30
by + (bx) : CXX0030: Error: expression cannot be evaluated
bx + (by) : CXX0014: Error: missing operrand

这发生在多台计算机上的 VS2010、VS2008 上。

所以,出于好奇,“by”发生了什么?它是某种奇怪的运算符吗?为什么 bx 没有得到同样的待遇?

(我试过用谷歌搜索这个,但是很难用像“by”这样的术语获得一些相关的点击)

最佳答案

对此很感兴趣,我进行了一些挖掘。来自 this link ,我们看到调试器中的原生 C/C++ 表达式求值器处理汇编语言表达式;以下 Assembly-language link ,我们发现 BY 是汇编语言表达式中 BYTE 的缩写。所以只是另一个 Microsoft 搞砸了

关于c++ - 无法在监 window 口中评估包含名为 "by"的术语的 Visual Studio 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4649363/

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