抑制消息框 R6025 纯虚函数调用

Suppress Message Box R6025 Pure Virtual Function Call

我正在开发使用旧 C++-Library.NET 4 应用程序 (WPF)。 这个库有问题,有时我会得到纯虚函数调用。 (我对那个图书馆无能为力......)

我已经使用 msvcr100.dll 中的 _set_purecall_handler 设置了一个处理程序。在调试期间,我还可以确认调用了我的处理程序。 然而,在离开我的处理程序后,应用程序显示 MessageBox 通知纯虚函数调用,然后退出应用程序。

如何防止此 messagebox 显示并继续 运行 应用程序?

由于无法从对纯虚函数的调用中安全恢复,因此纯调用处理程序应在向用户报告错误后终止进程。如果您的处理程序 returns 而不是终止,则假定它什么也没做,默认处理开始。

只需在处理程序末尾调用 exit(0) 或类似的方法,原始对话框就会被取消。