我正在使用 Stroustrup 的编程原理和实践学习 c++,并且有一个示例代码可以调试并使其工作。我已经进行了更正,当您输入使用 + 或 - 运算符的算术表达式时,它可以工作。但是,当我使用 * 运算符输入表达式时,什么也没有发生。我使用调试器来帮助我浏览代码,但我无法弄清楚。本书使用非标准包含文件std_lib_facilities.h
实际的计算器程序在这里。有人可以帮我弄清楚为什么像 2*3 这样的表达式吗?2+3 时不产生结果;作品?
PS:根据程序;
,最后必须有一个有效的表达式才能触发打印。所以 2+3; 是正确的并且会触发和打印,但是没有 a 的 2+3;
只会导致光标一直闪烁。也请不要这样,它是第一次尝试制作计算器程序,所以它缺少很多功能。我现在关心的是弄清楚为什么涉及*
运算符的简单算术表达式不起作用。谢谢。
[编辑]
感谢@KonradRudolph 的回答。让我难过的一件事是,当我使用 gdb 调试器(我在 linux 上)时,当我输入带有 *. 现在我知道有一个错误,但我希望它至少能进入函数并挂在那里的某个地方。为什么调试器不会进入有错误的函数?那会更有帮助。