我问的是这个问题,因为我无法相信它是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。
答案 0 :(得分:0)
问题是由使用旧的Windows8.1项目文件引起的。这些项目配置为使用旧的v12平台工具集(Visual Studio 2013),这解释了为什么C ++ 11功能不可用。同时,除了创建新的通用应用程序项目(不是Windows8通用)之外,没有办法切换到使用较新的v14工具集(VS2015)。