每段代码中有0个或者多个错误。你的任务是找出并排除每个程序中的错误,当你排除了所有的错误之后,得到的程序编译,运行后就会输出“Success!” 即使你认为已经找到了一个错误,你仍然需要输入(原始、未修改的)程序并测试它;因为你可能猜错了,或者程序中还有其他错误。这个练习的另一个目的是让你感受一下编译器对不同错误的反应是怎么样子的。你不需要上面的程序框架25次,用剪贴,粘贴或者类似的技术就可以了。不要通过删除一条语句来逃避问题,你应该试着用修改、增加或删除一些字符来排除问题。
原始框架代码:
#include "std_lib_facilities.h"
int main()
try{
<<your code here>>
keep_window_open();
return 0;
}
catch (exception& e){
cerr << "error: " << e.what() << '\n';
keep_window_open();
return 1;
}
catch(...){
cerr << "Oops: unknown exception\n";
keep_window_open();
return 2;
}
注意:keep_window_open();这个语句的作用是使得Windows上的黑框停留一段时间,方便我们阅读窗口信息,我这里使用的是ubuntu24.4
其源码文件如下,我们使用的不带参数的第一个。
inline void keep_window_open()
{
cin.clear();
cout << "Please enter a character to exit\n";
char ch;
cin >> ch;
return;
}
inline void keep_window_open(string s)
{
if (s == "") return;
cin.clear();
cin.