1

I am using Intel Parallel XE (R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.1.0.166 Build 20191121 and Visual Studios Professional 2019 (MSVC\14.27.29110)

here is a simple sample code which gives the error while compilation:

#include<iostream>
#include<map>
int main()
{
std::cout<<"Hello Mallasarj , this is Intel compiler"<<std::endl;
std::map<int, int> mp;
mp.insert({ 2, 30 });

return 1;
}

Errors report while compilation :

C:\Users\z0046wdt\Desktop>icl /EHsc Intel.cpp /Feintel.exe
Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.1.0.166 Build 20191121
Copyright (C) 1985-2019 Intel Corporation.  All rights reserved.

Intel.cpp
icl: NOTE: The evaluation period for this product ends on 14-nov-2020 UTC.
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(22): error: expected a "{"
  _STD_BEGIN
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(25): error: a template declaration is not allowed here
  template <bool _Same, class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(26): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_conditional_explicit_v0 = false;
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(28): error: a template declaration is not allowed here
  template <class... _Dests, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(29): error: _Tuple_conditional_explicit_v0 is not a template
  _INLINE_VAR constexpr bool _Tuple_conditional_explicit_v0<true, tuple<_Dests...>, _Srcs...> =
                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(29): error: identifier "tuple" is undefined
  _INLINE_VAR constexpr bool _Tuple_conditional_explicit_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(29): error: type name is not allowed
  _INLINE_VAR constexpr bool _Tuple_conditional_explicit_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                        ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(29): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_conditional_explicit_v0<true, tuple<_Dests...>, _Srcs...> =
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(29): error: expected a ";"
  _INLINE_VAR constexpr bool _Tuple_conditional_explicit_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                                  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(32): error: a template declaration is not allowed here
  template <class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(33): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_conditional_explicit_v =
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(64): error: a template declaration is not allowed here
  template <bool _Same, class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(65): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_constructible_v0 = false;
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(67): error: a template declaration is not allowed here
  template <class... _Dests, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(68): error: _Tuple_constructible_v0 is not a template
  _INLINE_VAR constexpr bool _Tuple_constructible_v0<true, tuple<_Dests...>, _Srcs...> =
                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(68): error: identifier "tuple" is undefined
  _INLINE_VAR constexpr bool _Tuple_constructible_v0<true, tuple<_Dests...>, _Srcs...> =
                                                           ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(68): error: type name is not allowed
  _INLINE_VAR constexpr bool _Tuple_constructible_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                 ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(68): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_constructible_v0<true, tuple<_Dests...>, _Srcs...> =
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(68): error: expected a ";"
  _INLINE_VAR constexpr bool _Tuple_constructible_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                           ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(71): error: a template declaration is not allowed here
  template <class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(72): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_constructible_v =
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(75): error: a template declaration is not allowed here
  template <class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(79): error: a template declaration is not allowed here
  template <bool _Same, class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(80): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_nothrow_constructible_v0 = false;
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(82): error: a template declaration is not allowed here
  template <class... _Dests, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(83): error: _Tuple_nothrow_constructible_v0 is not a template
  _INLINE_VAR constexpr bool _Tuple_nothrow_constructible_v0<true, tuple<_Dests...>, _Srcs...> =
                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(83): error: identifier "tuple" is undefined
  _INLINE_VAR constexpr bool _Tuple_nothrow_constructible_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                   ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(83): error: type name is not allowed
  _INLINE_VAR constexpr bool _Tuple_nothrow_constructible_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                         ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(83): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_nothrow_constructible_v0<true, tuple<_Dests...>, _Srcs...> =
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(83): error: expected a ";"
  _INLINE_VAR constexpr bool _Tuple_nothrow_constructible_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                                   ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(86): error: a template declaration is not allowed here
  template <class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(87): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_nothrow_constructible_v =
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(91): error: a template declaration is not allowed here
  template <bool _Same, class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(92): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_assignable_v0 = false;
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(94): error: a template declaration is not allowed here
  template <class... _Dests, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(95): error: _Tuple_assignable_v0 is not a template
  _INLINE_VAR constexpr bool _Tuple_assignable_v0<true, tuple<_Dests...>, _Srcs...> =
                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(95): error: identifier "tuple" is undefined
  _INLINE_VAR constexpr bool _Tuple_assignable_v0<true, tuple<_Dests...>, _Srcs...> =
                                                        ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(95): error: type name is not allowed
  _INLINE_VAR constexpr bool _Tuple_assignable_v0<true, tuple<_Dests...>, _Srcs...> =
                                                              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(95): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_assignable_v0<true, tuple<_Dests...>, _Srcs...> =
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(95): error: expected a ";"
  _INLINE_VAR constexpr bool _Tuple_assignable_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                        ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(98): error: a template declaration is not allowed here
  template <class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(99): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_assignable_v =
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(102): error: a template declaration is not allowed here
  template <class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(106): error: a template declaration is not allowed here
  template <bool _Same, class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(107): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_nothrow_assignable_v0 = false;
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(109): error: a template declaration is not allowed here
  template <class... _Dests, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(110): error: _Tuple_nothrow_assignable_v0 is not a template
  _INLINE_VAR constexpr bool _Tuple_nothrow_assignable_v0<true, tuple<_Dests...>, _Srcs...> =
                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(110): error: identifier "tuple" is undefined
  _INLINE_VAR constexpr bool _Tuple_nothrow_assignable_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(110): error: type name is not allowed
  _INLINE_VAR constexpr bool _Tuple_nothrow_assignable_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                      ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(110): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_nothrow_assignable_v0<true, tuple<_Dests...>, _Srcs...> =
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(110): error: expected a ";"
  _INLINE_VAR constexpr bool _Tuple_nothrow_assignable_v0<true, tuple<_Dests...>, _Srcs...> =
                                                                                ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(113): error: a template declaration is not allowed here
  template <class _Dest, class... _Srcs>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(114): error: "constexpr" is not valid here
  _INLINE_VAR constexpr bool _Tuple_nothrow_assignable_v =
              ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(119): error: a template declaration is not allowed here
  template <class _Myself, class... _Other>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(122): error: a template declaration is not allowed here
  template <class _This, class _Uty>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(123): error: identifier "tuple" is undefined
  struct _Tuple_convert_copy_val<tuple<_This>, _Uty>
                                 ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(123): error: type name is not allowed
  struct _Tuple_convert_copy_val<tuple<_This>, _Uty>
                                       ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(123): error: _Tuple_convert_copy_val is not a template
  struct _Tuple_convert_copy_val<tuple<_This>, _Uty>
         ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(123): error: expected a ";"
  struct _Tuple_convert_copy_val<tuple<_This>, _Uty>
                                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(129): error: a template declaration is not allowed here
  template <class _Myself, class... _Other>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(132): error: a template declaration is not allowed here
  template <class _This, class _Uty>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(133): error: identifier "tuple" is undefined
  struct _Tuple_convert_move_val<tuple<_This>, _Uty>
                                 ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(133): error: type name is not allowed
  struct _Tuple_convert_move_val<tuple<_This>, _Uty>
                                       ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(133): error: _Tuple_convert_move_val is not a template
  struct _Tuple_convert_move_val<tuple<_This>, _Uty>
         ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(133): error: expected a ";"
  struct _Tuple_convert_move_val<tuple<_This>, _Uty>
                                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(139): error: a template declaration is not allowed here
  template <class _Myself, class _This2, class... _Rest2>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(142): error: a template declaration is not allowed here
  template <class _Myself, class _This2>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(143): error: a template argument list is not allowed in a declaration of a primary template
  struct _Tuple_perfect_val<_Myself, _This2>
         ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(148): error: a template declaration is not allowed here
      template <class _Ty>
      ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(158): error: a template declaration is not allowed here
  template <class _Ty>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(201): error: a template declaration is not allowed here
  template <class... _Types>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(204): error: a template declaration is not allowed here
  template <>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(205): error: tuple is not a template
  class tuple<> { // empty tuple
        ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(209): error: function "<error>::tuple" is not a type name
      constexpr tuple(const tuple&) noexcept /* strengthened */ {} // TRANSITION, ABI: should be defaulted
                            ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(211): error: a template declaration is not allowed here
      template <class _Alloc>
      ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(212): error: identifier "allocator_arg_t" is undefined
      tuple(allocator_arg_t, const _Alloc&) noexcept /* strengthened */ {}
            ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(214): error: a template declaration is not allowed here
      template <class _Alloc>
      ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(215): error: identifier "allocator_arg_t" is undefined
      tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept /* strengthened */ {}
            ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(215): error: overloaded function "<error>::tuple" is not a type name
      tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept /* strengthened */ {}
                                                  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(217): error: enable_if_t is not a template
      template <class _Tag, enable_if_t<is_same_v<_Tag, _Exact_args_t>, int> = 0>
                            ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(217): error: identifier "is_same_v" is undefined
      template <class _Tag, enable_if_t<is_same_v<_Tag, _Exact_args_t>, int> = 0>
                                        ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(217): error: type name is not allowed
      template <class _Tag, enable_if_t<is_same_v<_Tag, _Exact_args_t>, int> = 0>
                                                  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(217): error: a template declaration is not allowed here
      template <class _Tag, enable_if_t<is_same_v<_Tag, _Exact_args_t>, int> = 0>
      ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(217): error: expected a declaration
      template <class _Tag, enable_if_t<is_same_v<_Tag, _Exact_args_t>, int> = 0>
                                                                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(217): error: expected a ";"
      template <class _Tag, enable_if_t<is_same_v<_Tag, _Exact_args_t>, int> = 0>
                                                                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(225): error: overloaded function "<error>::tuple" is not a type name
      void swap(tuple&) noexcept {}
                ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(227): error: overloaded function "<error>::tuple" is not a type name
      constexpr bool _Equals(const tuple&) const noexcept {
                                   ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(231): error: overloaded function "<error>::tuple" is not a type name
      constexpr bool _Less(const tuple&) const noexcept {
                                 ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(236): error: a template declaration is not allowed here
  template <class _This, class... _Rest>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(237): error: a template argument list is not allowed in a declaration of a primary template
  class tuple<_This, _Rest...> : private tuple<_Rest...> { // recursive tuple definition
        ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(716): error: a template declaration is not allowed here
  template <class... _Types1, class... _Types2>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(717): error: tuple is not a template
  _NODISCARD constexpr bool operator==(const tuple<_Types1...>& _Left, const tuple<_Types2...>& _Right) {
                                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(717): error: tuple is not a template
  _NODISCARD constexpr bool operator==(const tuple<_Types1...>& _Left, const tuple<_Types2...>& _Right) {
                                                                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(722): error: a template declaration is not allowed here
  template <class... _Types1, class... _Types2>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(723): error: tuple is not a template
  _NODISCARD constexpr bool operator!=(const tuple<_Types1...>& _Left, const tuple<_Types2...>& _Right) {
                                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(723): error: tuple is not a template
  _NODISCARD constexpr bool operator!=(const tuple<_Types1...>& _Left, const tuple<_Types2...>& _Right) {
                                                                             ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(727): error: a template declaration is not allowed here
  template <class... _Types1, class... _Types2>
  ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(728): error: tuple is not a template
  _NODISCARD constexpr bool operator<(const tuple<_Types1...>& _Left, const tuple<_Types2...>& _Right) {
                                            ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(728): error: tuple is not a template
  _NODISCARD constexpr bool operator<(const tuple<_Types1...>& _Left, const tuple<_Types2...>& _Right) {
                                                                            ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\tuple(733): error: a template declaration is not allowed here
  template <class... _Types1, class... _Types2>
  ^

compilation aborted for Intel.cpp (code 4)

C:\Users\z0046wdt\Desktop>icl /EHsc Intel.cpp /Feintel.exe

Same fails if I include <map> or <set> . Can anyone please suggest what is going wrong?

Scheff's Cat
  • 19,528
  • 6
  • 28
  • 56
  • 1
    Without deeper knowledge: The Intel compiler might provide it's own standard libraries. However, it seems you compiled against the libraries provided by Visual Studio and this might be the cause for the confusion of your compiler. – Scheff's Cat Oct 16 '20 at 11:28
  • Concerning my guess: I found [Get Started with Parallel STL](https://software.intel.com/content/www/us/en/develop/articles/get-started-with-parallel-stl.html): _Parallel STL is available as a part of Intel® Parallel Studio XE and Intel® System Studio._ So, it might be necessary to adjust the include paths and other settings so that the correct standard libraries are used. – Scheff's Cat Oct 16 '20 at 11:32
  • Now I am using Visual Studios 16.4 and Intel 19.1.3 (Latest PSXE 2020 Update 4).But still I am facing the issues. Can anyone suggest why? – MALLASARJ SULEBHANVI Nov 17 '20 at 12:30
  • Please, note the `VC\Tools\MSVC\14.27.29110\include` parts in your error messages you got. It looks like the compiler tries to use the SDK shipped with Visual Studio. If you want to use a different compiler in Visual Studio (which is a reasonable option) then you have to ensure to use the corresponding SDK with it. So, it seems your project settings are just wrong. Either start with the appropriate project template or, at least, configure your project to use the intended SDK for your compiler. – Scheff's Cat Nov 17 '20 at 13:40
  • Btw. what I cannot resist to ask myself: C++ on its own is not that easy-peazy but parallel programming is yet another load. Parallel programming in C++ is somehow like the multiplication of hardness. So, if you're a beginner (like we all were once) why do you start with rocket science while it would make more sense to learn to go by bicycle first? Wouldn't it make more sense to learn the basics of C++ first? For this, a Visual Studio out-of-the-box (with the native compiler shipped within) wouldn't be the worst choice. – Scheff's Cat Nov 17 '20 at 13:45

0 Answers0