指定当编译器使用的异常处理类型、何时优化掉异常检查以及是否销毁由于异常而超出范围的 C++ 对象。 如果未指定/EH,则编译器将同时捕获异步结构化异常和 C++ 异常,但不会销毁由于异步异常超出范围的 C++ 对象。
当出现如标题所示错误时,需要修改VS项目属性配置来解决:
项目->属性->配置属性->C/C++->代码生成->启用C++异常,将值设置为“是 (/EHsc)”。
具体原理可参考MSDN异常模型说明:https://msdn.microsoft.com/zh-cn/library/1deeycx5.aspx