Skip to content

Commit 28a2a30

Browse files
authored
Merge pull request #3166 from corob-msft/docs/corob/links-pass-fixes-2
Fixes for more link issues uncovered by #3155
2 parents 3b1452f + b143735 commit 28a2a30

File tree

3 files changed

+17
-26
lines changed

3 files changed

+17
-26
lines changed

docs/dotnet/for-each-in.md

+7-19
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
---
22
title: "for each, in"
3-
ms.date: "11/04/2016"
3+
description: "C++/CLI for each, in statement description and examples."
4+
ms.date: 09/25/2020
45
ms.topic: "reference"
56
f1_keywords: ["cliext::foreach", "for", "each", "in"]
67
helpviewer_keywords: ["for each keyword [C++]"]
78
ms.assetid: 0c3a364b-2747-43f3-bb8d-b7d3b7023f79
89
---
910
# for each, in
1011

11-
Iterates through an array or collection. This non-standard keyword is available in both C++/CLI and native C++ projects. However, its use is not recommended. Consider using a standard [Range-based for Statement (C++)](../cpp/range-based-for-statement-cpp.md) instead.
12+
Iterates through an array or collection. This non-standard keyword is available in both C++/CLI and native C++ projects. However, its use isn't recommended. Consider using a standard [Range-based for Statement (C++)](../cpp/range-based-for-statement-cpp.md) instead.
1213

1314
## All Runtimes
1415

@@ -34,22 +35,12 @@ One or more statements to be executed.
3435

3536
### Remarks
3637

37-
The `for each` statement is used to iterate through a collection. You can modify elements in a collection, but you cannot add or delete elements.
38+
The `for each` statement is used to iterate through a collection. You can modify elements in a collection, but you can't add or delete elements.
3839

3940
The *statements* are executed for each element in the array or collection. After the iteration has been completed for all the elements in the collection, control is transferred to the statement that follows the `for each` block.
4041

4142
`for each` and `in` are [context-sensitive keywords](../extensions/context-sensitive-keywords-cpp-component-extensions.md).
4243

43-
For more information:
44-
45-
- [Iterating Over C++ Standard Library Collection By Using for each](../dotnet/iterating-over-stl-collection-by-using-for-each.md)
46-
47-
- [How to: Iterate Over Arrays with for each](../dotnet/how-to-iterate-over-arrays-with-for-each.md)
48-
49-
- [How to: Iterate Over a Generic Collection with for each](../dotnet/how-to-iterate-over-a-generic-collection-with-for-each.md)
50-
51-
- [How to: Iterate Over a User-Defined Collection with for each](../dotnet/how-to-iterate-over-a-user-defined-collection-with-for-each.md)
52-
5344
## Windows Runtime
5445

5546
### Requirements
@@ -86,8 +77,6 @@ int main() {
8677
}
8778
```
8879
89-
**Output**
90-
9180
```Output
9281
abcd
9382
@@ -96,7 +85,7 @@ Testing
9685

9786
## Common Language Runtime
9887

99-
**Remarks**
88+
### Remarks
10089

10190
The CLR syntax is the same as the **All Runtimes** syntax, except as follows.
10291

@@ -138,8 +127,6 @@ int main() {
138127
}
139128
```
140129
141-
**Output**
142-
143130
```Output
144131
abcd
145132
@@ -148,4 +135,5 @@ Testing
148135

149136
## See also
150137

151-
[Component Extensions for Runtime Platforms](../extensions/component-extensions-for-runtime-platforms.md)
138+
[Component Extensions for Runtime Platforms](../extensions/component-extensions-for-runtime-platforms.md)\
139+
[Range-based for statement (C++)](../cpp/range-based-for-statement-cpp.md)

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

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
---
22
title: "Compiler Error C3287"
3-
ms.date: "11/04/2016"
3+
description: "Describes Microsoft C++ compiler error C3287."
4+
ms.date: 09/25/2020
45
f1_keywords: ["C3287"]
56
helpviewer_keywords: ["C3287"]
67
ms.assetid: c1fa73d2-2c82-4136-a7da-0e75e3b420ad
78
---
89
# Compiler Error C3287
910

10-
the type 'type' (return type of GetEnumerator) must have a suitable public MoveNext member function and public Current property
11+
> the type '*type*' (return type of GetEnumerator) must have a suitable public MoveNext member function and public Current property
12+
13+
## Remarks
1114

1215
User-defined collection classes must contain definitions for `MoveNext` and `Current`.
1316

14-
See [How to: Iterate Over a User-Defined Collection with for each](../../dotnet/how-to-iterate-over-a-user-defined-collection-with-for-each.md) for more information.
17+
For more information, see [for each, in](../../dotnet/for-each-in.md).
1518

1619
## Example
1720

docs/extensions/generics-cpp-component-extensions.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
---
22
title: "Generics (C++/CLI and C++/CX)"
3-
ms.date: "10/12/2018"
3+
description: "Links to content about the C++/CLI and C++/CX generics features, types, and methods."
4+
ms.date: 09/25/2020
45
ms.topic: "reference"
56
f1_keywords: ["generic_cpp", "generic"]
67
helpviewer_keywords: ["generics [C++]"]
78
ms.assetid: c7ccc316-a411-4c00-b2e2-f0c0eadc6cfd
89
---
910
# Generics (C++/CLI and C++/CX)
1011

11-
Generics are parameterized types and methods. In this section, find out which generic features are supported by both the Windows Runtime and the common language runtime, and which are supported by only the common language runtime. Also, find out how to author your own generic methods and types in C++/CLI, and how to use generic types authored in a .NET Framework language in C++/CLI. Finally, this section provides a comparison of generics and C++ templates.
12+
Generics are parameterized types and methods. In this section, find out which generic features both the Windows Runtime and the common language runtime support, and which ones only the common language runtime supports. You'll also find out how to author your own generic methods and types in C++/CLI, and how to use generic types authored in a .NET Framework language in C++/CLI. Finally, this section provides a comparison of generics and C++ templates.
1213

1314
## In This Section
1415

1516
### Supported by the Windows Runtime and the Common Language Runtime
1617

1718
[Overview of Generics in C++/CLI](overview-of-generics-in-visual-cpp.md)<br/>
18-
Information about generics are, the motivation for the language feature, definitions of terms used to describe generics, and information about the use of reference types and value types as type parameters for generics.
19+
Information about what generics are, the motivation for the language feature, and definitions of terms that are used to describe generics. Also, information about the use of reference types and value types as type parameters for generics.
1920

2021
[Generic Interfaces (C++/CLI)](generic-interfaces-visual-cpp.md)<br/>
2122
Information about defining and using generic interfaces.
@@ -42,7 +43,6 @@ Information about defining and using generic classes.
4243

4344
## Related Sections
4445

45-
[How to: Iterate Over a Generic Collection with for each](../dotnet/how-to-iterate-over-a-generic-collection-with-for-each.md)<br/>
4646
Using the [for each, in](../dotnet/for-each-in.md) keyword on a generic collection.
4747

4848
## See also

0 commit comments

Comments
 (0)