Skip to content

Commit 3f3fb92

Browse files
Merge pull request #5652 from Rageking8/structure-error-references-in-range-c2981-c3010
Structure error references in range [C2981, C3010]
2 parents 7786d58 + 7d86057 commit 3f3fb92

19 files changed

+143
-93
lines changed
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
---
2-
description: "Learn more about: Compiler Error C2988"
32
title: "Compiler Error C2988"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Compiler Error C2988"
4+
ms.date: 11/04/2016
55
f1_keywords: ["C2988"]
66
helpviewer_keywords: ["C2988"]
7-
ms.assetid: c07ada8d-7cdf-4496-8656-cc3851e76b46
87
---
98
# Compiler Error C2988
109

11-
unrecognizable template declaration/definition
10+
> unrecognizable template declaration/definition
11+
12+
## Remarks
1213

1314
The template declaration does not parse correctly. Check delimiters.

docs/error-messages/compiler-errors-2/compiler-error-c2989.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
---
2-
description: "Learn more about: Compiler Error C2989"
32
title: "Compiler Error C2989"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Compiler Error C2989"
4+
ms.date: 11/04/2016
55
f1_keywords: ["C2989"]
66
helpviewer_keywords: ["C2989"]
7-
ms.assetid: 936303d8-eb3b-4746-82ec-2f18020a6f64
87
---
98
# Compiler Error C2989
109

11-
'class' : class type has already been declared as a non-class type
10+
> 'class' : class type has already been declared as a non-class type
11+
12+
## Remarks
1213

1314
The class generic or template redefines a non-template or non-generic class. Check header files for conflicts.
1415

15-
The following sample generates C2989:
16+
## Examples
17+
18+
The following example generates C2989:
1619

1720
```cpp
1821
// C2989.cpp

docs/error-messages/compiler-errors-2/compiler-error-c2990.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
---
2-
description: "Learn more about: Compiler Error C2990"
32
title: "Compiler Error C2990"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Compiler Error C2990"
4+
ms.date: 11/04/2016
55
f1_keywords: ["C2990"]
66
helpviewer_keywords: ["C2990"]
7-
ms.assetid: 674e9f6a-6743-4af0-a7ed-cbe11103a2f8
87
---
98
# Compiler Error C2990
109

11-
'class' : non-class type as already been declared as a class type
10+
> 'class' : non-class type as already been declared as a class type
11+
12+
## Remarks
1213

1314
The non generic or template class redefines a generic or template class. Check header files for conflicts.
1415

15-
The following sample generates C2990:
16+
## Examples
17+
18+
The following example generates C2990:
1619

1720
```cpp
1821
// C2990.cpp
@@ -35,7 +38,7 @@ ref struct GC {}; // C2990
3538
3639
C2990 can also occur due to a breaking change in the Microsoft C++ compiler for Visual Studio 2005; the compiler now requires that multiple declarations for the same type be identical with respect to template specification.
3740
38-
The following sample generates C2990:
41+
The following example generates C2990:
3942
4043
```cpp
4144
// C2990c.cpp

docs/error-messages/compiler-errors-2/compiler-error-c2991.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
---
2-
description: "Learn more about: Compiler Error C2991"
32
title: "Compiler Error C2991"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Compiler Error C2991"
4+
ms.date: 11/04/2016
55
f1_keywords: ["C2991"]
66
helpviewer_keywords: ["C2991"]
7-
ms.assetid: a87e4404-26e8-4927-b3ee-5d02b3b8bee1
87
---
98
# Compiler Error C2991
109

11-
redefinition of type parameter 'parameter'
10+
> redefinition of type parameter 'parameter'
11+
12+
## Remarks
1213

1314
There was a type conflict between two generic or template definitions of `parameter`. When defining multiple generic or template parameters, you must use equivalent types.
1415

15-
The following sample generates C2991:
16+
## Examples
17+
18+
The following example generates C2991:
1619

1720
```cpp
1821
// C2991.cpp

docs/error-messages/compiler-errors-2/compiler-error-c2992.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
---
2-
description: "Learn more about: Compiler Error C2992"
32
title: "Compiler Error C2992"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Compiler Error C2992"
4+
ms.date: 11/04/2016
55
f1_keywords: ["C2992"]
66
helpviewer_keywords: ["C2992"]
7-
ms.assetid: 01b16447-43fe-4e91-9a5a-af884a166a31
87
---
98
# Compiler Error C2992
109

11-
'class' : invalid or missing type parameter list
10+
> 'class' : invalid or missing type parameter list
11+
12+
## Remarks
1213

1314
The class is preceded by a **`template`** or **generic** keyword with missing or invalid parameters.
1415

15-
## Example
16+
## Examples
1617

17-
The following sample generates C2992:
18+
The following example generates C2992:
1819

1920
```cpp
2021
// C2992.cpp

docs/error-messages/compiler-errors-2/compiler-error-c2993.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
11
---
2-
description: "Learn more about: Compiler Error C2993"
32
title: "Compiler Error C2993"
4-
ms.date: "10/03/2023"
3+
description: "Learn more about: Compiler Error C2993"
4+
ms.date: 10/03/2023
55
f1_keywords: ["C2993"]
66
helpviewer_keywords: ["C2993"]
77
---
88
# Compiler Error C2993
99

10-
'identifier' : illegal type for non-type template parameter 'parameter'
10+
> 'identifier' : illegal type for non-type template parameter 'parameter'
11+
12+
## Remarks
1113

1214
- Prior to C++20, you cannot declare a template with a structure, class, or union argument. Pointers can be used in place of these types as template parameters.
1315
- Since C++20, structure, class, or unions *can* be used as non-type template parameters. A non-type template parameter can't be a rvalue reference type or a parameter pack of rvalue types.
1416

15-
The following sample generates C2993:
17+
## Examples
18+
19+
The following example generates C2993:
1620

1721
```cpp
1822
// compile with: /c and /std:c++17
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
---
2-
description: "Learn more about: Compiler Error C2994"
32
title: "Compiler Error C2994"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Compiler Error C2994"
4+
ms.date: 11/04/2016
55
f1_keywords: ["C2994"]
66
helpviewer_keywords: ["C2994"]
7-
ms.assetid: b03570b5-e5fd-41d8-bdf1-dfadc2b1e116
87
---
98
# Compiler Error C2994
109

11-
unnamed class in template parameter list
10+
> unnamed class in template parameter list
11+
12+
## Remarks
1213

1314
You cannot use the **`class`** keyword as a template argument without specifying a class name.

docs/error-messages/compiler-errors-2/compiler-error-c2995.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
---
2-
description: "Learn more about: Compiler Error C2995"
32
title: "Compiler Error C2995"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Compiler Error C2995"
4+
ms.date: 11/04/2016
55
f1_keywords: ["C2995"]
66
helpviewer_keywords: ["C2995"]
7-
ms.assetid: a57cdfe0-b40b-4a67-a95c-1a49ace4842b
87
---
98
# Compiler Error C2995
109

11-
'function' : function template has already been defined
10+
> 'function' : function template has already been defined
11+
12+
## Remarks
1213

1314
Make sure that there is only one definition for each member function of a templated class.
1415

15-
The following sample generates C2995:
16+
## Example
17+
18+
The following example generates C2995:
1619

1720
```cpp
1821
// C2995.cpp
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
---
2-
description: "Learn more about: Compiler Error C2996"
32
title: "Compiler Error C2996"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Compiler Error C2996"
4+
ms.date: 11/04/2016
55
f1_keywords: ["C2996"]
66
helpviewer_keywords: ["C2996"]
7-
ms.assetid: f0ca9f8b-1751-4182-adab-1424f0c5e0c0
87
---
98
# Compiler Error C2996
109

11-
'function' : recursive function template definition
10+
> 'function' : recursive function template definition
11+
12+
## Remarks
1213

1314
A function definition attempts to instantiate its root templated class. Recursive template instantiations are not allowed.

docs/error-messages/compiler-errors-2/compiler-error-c3001.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
---
2-
description: "Learn more about: Compiler Error C3001"
32
title: "Compiler Error C3001"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Compiler Error C3001"
4+
ms.date: 11/04/2016
55
f1_keywords: ["C3001"]
66
helpviewer_keywords: ["C3001"]
7-
ms.assetid: d0e03478-1b44-47e5-8f5b-70415fa1f8bc
87
---
98
# Compiler Error C3001
109

11-
'error_text' : expected an OpenMP directive name
10+
> 'error_text' : expected an OpenMP directive name
11+
12+
## Remarks
1213

1314
The `omp` pragma must be followed by a directive.
1415

15-
The following sample generates C3001:
16+
## Example
17+
18+
The following example generates C3001:
1619

1720
```c
1821
// C3001.c

0 commit comments

Comments
 (0)