在C++控制台程序代码中,当我们使用了assert断言函数之后,debug程序运行时检测到断言,并弹出断言窗口,这时,无论我们选择中断,终止,忽略,程序都会自动结束,主要是因为assert的默认模式调用了about()函数,并且最后exit();
但是很多时候我们在debug模式下所使用的断言只是为了做一个提示作用,而不是想因此而让程序结束,使用默认的方式太暴力了.
因此可以一开始就对assert的模式进行设置,使得我们选择忽略选项能让程序继续运行,方法是:
_set_error_mode(_OUT_TO_MSGBOX); //设置为只弹框模式,但此模式将不会在控制台打印出相应的错误,不过窗口上是会显示的