xtr1common中的错误,尝试使用VS2019构建原始VS2013 C++项目时type_traits



我正在尝试将Visual Studio 2013的项目升级到Visual Studio 2019。

当我使用 Visual Studio 2013 (v120( 和 Windwos SDK 版本 8.1 构建项目时,一切顺利。但是当我尝试更新到 v142 和 Windwos SDK 版本 10.0 时,出现以下错误:

1>------ Build started: Project: Logger, Configuration: Release x64 ------
1>stdafx.cpp
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(158,28): error C2275: '_False': illegal use of this type as an expression
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(157): message : see declaration of '_False'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(158,36): error C2275: '_Next': illegal use of this type as an expression
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(157): message : see declaration of '_Next'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(158,43): error C2275: '_Rest': illegal use of this type as an expression
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(157): message : see declaration of '_Rest'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(158,53): error C3544: '_Rest': parameter pack expects a type template argument
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(160,2): error C3855: 'std::_Disjunction': template parameter '_First_value' is incompatible with the declaration
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(32,1): warning C4467: usage of ATL attributes is deprecated
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(163): message : see reference to class template instantiation 'std::integral_constant<bool,false>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(163): message : see reference to class template instantiation 'std::disjunction<_Traits...>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(32,1): error C2337: '[': attribute not found
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(32,5): error C2146: syntax error: missing ']' before identifier 'nodiscard'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(32,5): error C2143: syntax error: missing ';' before ']'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(32,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(32,1): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(166,28): error C2275: '_Rest': illegal use of this type as an expression
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(165): message : see declaration of '_Rest'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(166,38): error C3544: '_Traits': parameter pack expects a type template argument
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(168,2): error C3855: 'std::disjunction': template parameter '_Traits' is incompatible with the declaration
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(168,2): error C2977: 'std::disjunction': too many template arguments
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includextr1common(166): message : see declaration of 'std::disjunction'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(35,68): error C2275: '_Ty': illegal use of this type as an expression
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(34): message : see declaration of '_Ty'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(35,31): error C2923: '__make_integer_seq': '_Ty' is not a valid template type argument for parameter '_T'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(34): message : see declaration of '_Ty'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(35,31): error C2923: '__make_integer_seq': 'size_t' is not a valid template type argument for parameter '_T'
1>D:devog_colttCOLoggersSTstdafx.cpp : message : see declaration of 'size_t'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(41): message : see reference to alias template instantiation 'std::make_integer_sequence<size_t,_Size>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(53,27): error C2275: '_True': illegal use of this type as an expression
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(52): message : see declaration of '_True'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(53,34): error C2275: '_Next': illegal use of this type as an expression
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(52): message : see declaration of '_Next'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(53,41): error C2275: '_Rest': illegal use of this type as an expression
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(52): message : see declaration of '_Rest'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(53,51): error C3544: '_Rest': parameter pack expects a type template argument
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(55,2): error C3855: 'std::_Conjunction': template parameter '_First_value' is incompatible with the declaration
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(61,28): error C2275: '_Rest': illegal use of this type as an expression
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(60): message : see declaration of '_Rest'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(61,38): error C3544: '_Traits': parameter pack expects a type template argument
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(63,2): error C3855: 'std::conjunction': template parameter '_Traits' is incompatible with the declaration
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(63,2): error C2977: 'std::conjunction': too many template arguments
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(61): message : see declaration of 'std::conjunction'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85,25): error C2275: '_Ty2': illegal use of this type as an expression
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(84): message : see declaration of '_Ty2'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85,31): error C3544: '_Types': parameter pack expects a type template argument
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(88,2): error C3855: 'std::_Arg_types': template parameter '_Types' is incompatible with the declaration
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(88,2): error C2977: 'std::_Arg_types': too many template arguments
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...)>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...)>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile const>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile const>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) &>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) &>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const &>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const &>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile &>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile &>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile const &>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile const &>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) &&>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) &&>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const &&>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const &&>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile &&>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile &&>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile const &&>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(85): message : see declaration of 'std::_Arg_types'
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile const &&>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(138): message : see reference to class template instantiation 'std::_Is_memfunptr<_Ret(__vectorcall _Arg0::* )(_Types...) volatile const &&>' being compiled
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.26.28801includetype_traits(138,1): fatal error C1003: error count exceeds 100; stopping compilation
1>Done building project "COLoggersST.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

如您所见,文件xtr1common和type_traits上有很多错误。当我使用 C++14 进行编译时,这两个文件都出现了错误,但是当我使用 C++17 时,只有 type_traits 上出现了错误。

我在这个项目中使用了很多ATL编程。也许 2013 年和 2019 年版本打破了一些 ATL 的东西?

在 stdafx.h 中,这是 ATL 标头:

#include <atlbase.h>
#include <atlcom.h>
#include <atlwin.h>
#include <atltypes.h>
#include <atlctl.h>
#include <atlhost.h>
#include <comdef.h>

提前感谢人们可能拥有的任何见解。

我通过删除编译器选项/FX 解决了这个问题。

我认为发生此问题是因为Visual Studio尝试将cpp文件编译为C而不是C++。

项目属性 -> C/C++ -> 输出文件 ->将"展开属性源"设置为"否"。

>在使用Visual Studio 2019重建32位MFC/C++旧版应用程序时,我遇到了类似的问题,这个答案解决了这个问题。感谢马库斯·布鲁诺发布解决方案。

这是我收到的许多几乎相同的错误消息之一:

xtr1common(158,28(: 错误 C2275:"_False":非法使用此类型作为表达式

请注意,这些错误特定于 Win32 内部版本,不会在 x64 上发生。

最新更新