очень простой код и получая ошибку C2712, не мог понять почему
У меня некоторое время проблемы сerror C2712: Cannot use __try in functions that require object unwinding
После сужения проблемы у меня остался очень очень простой код, и я не могу понять, почему это вызывает эту ошибку. Я использую Visual Studio под Windows.
Я компилирую с / EHa (я не использую / EHsc)
Причина я использую__try/__except
и неtry/catch
потому что я хочу перехватить ВСЕ ошибки и не хочу, чтобы программа аварийно завершала работу ни при каких обстоятельствах, включая, например, деление на 0, которое не отлавливает try-catch.
#include <string>
static struct myStruct
{
static std::string foo() {return "abc";}
};
int main ()
{
myStruct::foo();
__try
{ }
__except (true)
{ }
return 0;
}
выход:
error C2712: Cannot use __try in functions that require object unwinding