考虑下面的C++代码:
int _tmain(int argc, _TCHAR* argv[])
{
int by = 10;
printf("%d\n", by);
int bx = 20;
printf("%d\n", (by + bx));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.有趣的是"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: …Run Code Online (Sandbox Code Playgroud)