简体   繁体   中英

Errors in xtr1common and type_traits when trying to build a originally VS2013 C++ project using VS2019

I am trying to upgrade a project of Visual Studio 2013 to Visual Studio 2019.

When I build the project using Visual Studio 2013 (v120) and Windwos SDK version 8.1, everything goes perfectly. But when I try to update to v142 and Windwos SDK version 10.0, the following errors appears:

1>------ Build started: Project: Logger, Configuration: Release x64 ------
1>stdafx.cpp
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(158,28): error C2275: '_False': illegal use of this type as an expression
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(157): message : see declaration of '_False'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(158,36): error C2275: '_Next': illegal use of this type as an expression
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(157): message : see declaration of '_Next'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(158,43): error C2275: '_Rest': illegal use of this type as an expression
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(157): message : see declaration of '_Rest'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(158,53): error C3544: '_Rest': parameter pack expects a type template argument
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(160,2): error C3855: 'std::_Disjunction': template parameter '_First_value' is incompatible with the declaration
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(32,1): warning C4467: usage of ATL attributes is deprecated
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(163): message : see reference to class template instantiation 'std::integral_constant<bool,false>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(163): message : see reference to class template instantiation 'std::disjunction<_Traits...>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(32,1): error C2337: '[': attribute not found
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(32,5): error C2146: syntax error: missing ']' before identifier 'nodiscard'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(32,5): error C2143: syntax error: missing ';' before ']'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(32,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(32,1): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(166,28): error C2275: '_Rest': illegal use of this type as an expression
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(165): message : see declaration of '_Rest'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(166,38): error C3544: '_Traits': parameter pack expects a type template argument
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(168,2): error C3855: 'std::disjunction': template parameter '_Traits' is incompatible with the declaration
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(168,2): error C2977: 'std::disjunction': too many template arguments
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xtr1common(166): message : see declaration of 'std::disjunction'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(35,68): error C2275: '_Ty': illegal use of this type as an expression
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(34): message : see declaration of '_Ty'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_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 Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(34): message : see declaration of '_Ty'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(35,31): error C2923: '__make_integer_seq': 'size_t' is not a valid template type argument for parameter '_T'
1>D:\dev\og_coltt\COLoggersST\stdafx.cpp : message : see declaration of 'size_t'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_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 Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(53,27): error C2275: '_True': illegal use of this type as an expression
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(52): message : see declaration of '_True'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(53,34): error C2275: '_Next': illegal use of this type as an expression
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(52): message : see declaration of '_Next'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(53,41): error C2275: '_Rest': illegal use of this type as an expression
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(52): message : see declaration of '_Rest'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(53,51): error C3544: '_Rest': parameter pack expects a type template argument
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(55,2): error C3855: 'std::_Conjunction': template parameter '_First_value' is incompatible with the declaration
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(61,28): error C2275: '_Rest': illegal use of this type as an expression
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(60): message : see declaration of '_Rest'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(61,38): error C3544: '_Traits': parameter pack expects a type template argument
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(63,2): error C3855: 'std::conjunction': template parameter '_Traits' is incompatible with the declaration
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(63,2): error C2977: 'std::conjunction': too many template arguments
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(61): message : see declaration of 'std::conjunction'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85,25): error C2275: '_Ty2': illegal use of this type as an expression
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(84): message : see declaration of '_Ty2'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85,31): error C3544: '_Types': parameter pack expects a type template argument
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(88,2): error C3855: 'std::_Arg_types': template parameter '_Types' is incompatible with the declaration
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(88,2): error C2977: 'std::_Arg_types': too many template arguments
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...)>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...)>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_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 Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_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 Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) &>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) &>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const &>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const &>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile &>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile &>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_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 Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_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 Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) &&>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) &&>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const &&>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) const &&>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile &&>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103): message : see reference to class template instantiation 'std::_Is_function<_Ret(_Types...) volatile &&>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_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 Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(103,1): error C2955: 'std::_Arg_types': use of class template requires template argument list
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_traits(85): message : see declaration of 'std::_Arg_types'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_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 Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_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 Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\type_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 ==========

As you can see, there's tons of erros on files xtr1common and type_traits. When I use C++14 to compile, errors on both of these files appears, but when I use C++17 there are erros only on type_traits.

I am using alot of ATL programming in this project. Maybe versions 2013 and 2019 break some ATL things?

In the stdafx.h this are the ATL headers:

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

Thanks in advance for any insights people may have.

I solved this problem by removing the compiler option /FX.

I think this issue happens because visual studio tries to compile cpp files as C instead of C++.

Project Properties -> C/C++ -> Output Files -> set 'Expand Attributed Source' to 'No'.

I ran into a similar problem when rebuilding a 32-bit MFC/C++ legacy application using Visual Studio 2019, and this answer addressed the issue. Kudos to Marcus Bruno for posting the solution.

Here is one of the many nearly identical error messages that I was getting:

xtr1common(158,28): error C2275: '_False': illegal use of this type as an expression

Note that the errors were specific to the Win32 build, and did not occur on x64.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM