lambda 中的 noexcept 在 vs2012 中如何工作?

How does noexcept in lambda work in vs2012?

尝试编译示例时:

https://docs.microsoft.com/en-us/cpp/cpp/lambda-expressions-in-cpp?view=vs-2019#exception-specification

使用 Visual studio 2012

[]() noexcept { throw 5; }();

我遇到以下错误:

expected a '{' introducing a lambda body

只有noexcept has been introduced in , but the MSVS2015 onwards(不幸的是)一个人可以使用此功能。也就是说,您需要升级到 MSVS2015 并设置编译器标志 C++11 或 C++14 才能编译此代码。