2016年MSVC不支持noexcept关键字

时间:2016-07-31 18:43:18

标签: c++ c++11 visual-studio-2015

我问的是这个问题,因为我无法相信它是2016年,MSVC编译器仍然不支持noexcept关键字。以下简单代码:

class Test
{
public:
    Test() noexcept
    {
    }
};

生成此错误:

error C3646: 'noexcept' : unknown override specifier

此代码由Win32平台上的Visual Studio编译,但在我尝试在UWP上编译时会生成此错误。我是否遗漏了一些明显的东西,或者他们是否在为Win32和UWP使用不同的C ++编译器?

我使用的是Microsoft Visual Studio社区2015 Update 3.版本14.0.25424.00。

1 个答案:

答案 0 :(得分:0)

问题是由使用旧的Windows8.1项目文件引起的。这些项目配置为使用旧的v12平台工具集(Visual Studio 2013),这解释了为什么C ++ 11功能不可用。同时,除了创建新的通用应用程序项目(不是Windows8通用)之外,没有办法切换到使用较新的v14工具集(VS2015)。