diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3192.md b/docs/error-messages/compiler-errors-2/compiler-error-c3192.md index b9e9dd8a92..28b5f9c2d5 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3192.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3192.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3192" title: "Compiler Error C3192" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3192" +ms.date: 11/04/2016 f1_keywords: ["C3192"] helpviewer_keywords: ["C3192"] -ms.assetid: 8b0083d4-706f-46f6-858a-e1d9af464cf8 --- # Compiler Error C3192 -syntax error : '^' is not a prefix operator (did you mean '*'?) +> syntax error : '^' is not a prefix operator (did you mean '*'?) + +## Remarks A handle cannot be used as a dereference operator. -The following sample generates C3192: +## Example + +The following example generates C3192: ```cpp // C3192.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3194.md b/docs/error-messages/compiler-errors-2/compiler-error-c3194.md index a33d63090f..8db7784857 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3194.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3194.md @@ -1,20 +1,21 @@ --- -description: "Learn more about: Compiler Error C3194" title: "Compiler Error C3194" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3194" +ms.date: 11/04/2016 f1_keywords: ["C3194"] helpviewer_keywords: ["C3194"] -ms.assetid: 49d3ffc6-eff6-4b46-865b-18811692a8bb --- # Compiler Error C3194 -'member' : a value-type cannot have an assignment operator +> 'member' : a value-type cannot have an assignment operator + +## Remarks Special member functions that require automatic invocation by the compiler, such as a copy constructor or copy assignment operator are not supported within a value class. ## Example -The following sample generates C3194. +The following example generates C3194. ```cpp // C3194.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3195.md b/docs/error-messages/compiler-errors-2/compiler-error-c3195.md index 415527ec2d..ec488b88ac 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3195.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3195.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3195" title: "Compiler Error C3195" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3195" +ms.date: 11/04/2016 f1_keywords: ["C3195"] helpviewer_keywords: ["C3195"] -ms.assetid: 97e4f681-812b-49e8-ba57-24b7817e3cd8 --- # Compiler Error C3195 -'operator' : is reserved and cannot be used as a member of a ref class or value type. CLR or WinRT operators must be defined using the 'operator' keyword +> 'operator' : is reserved and cannot be used as a member of a ref class or value type. CLR or WinRT operators must be defined using the 'operator' keyword + +## Remarks The compiler detected an operator definition using the Managed Extensions for C++ syntax. You must use the C++ syntax for operators. -The following sample generates C3195 and shows how to fix it: +## Example + +The following example generates C3195 and shows how to fix it: ```cpp // C3195.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3196.md b/docs/error-messages/compiler-errors-2/compiler-error-c3196.md index 38cf9afdc3..070c0c87ed 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3196.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3196.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3196" title: "Compiler Error C3196" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3196" +ms.date: 11/04/2016 f1_keywords: ["C3196"] helpviewer_keywords: ["C3196"] -ms.assetid: d9c38a13-191d-472d-aa2b-f61a6459d16c --- # Compiler Error C3196 -'keyword' : used more than once +> 'keyword' : used more than once + +## Remarks A keyword was used more than once. -The following sample generates C3196: +## Example + +The following example generates C3196: ```cpp // C3196.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3197.md b/docs/error-messages/compiler-errors-2/compiler-error-c3197.md index b5153e9591..3362584a4a 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3197.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3197.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3197" title: "Compiler Error C3197" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3197" +ms.date: 11/04/2016 f1_keywords: ["C3197"] helpviewer_keywords: ["C3197"] -ms.assetid: 4e385c3b-222e-425c-9612-46e83ed41650 --- # Compiler Error C3197 -'keyword' : can only be used in definitions +> 'keyword' : can only be used in definitions + +## Remarks A keyword was used in a declaration but is only valid in a definition. -The following sample generates C3197: +## Example + +The following example generates C3197: ```cpp // C3197.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3198.md b/docs/error-messages/compiler-errors-2/compiler-error-c3198.md index d853ab33b4..b871f254a6 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3198.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3198.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3198" title: "Compiler Error C3198" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3198" +ms.date: 11/04/2016 f1_keywords: ["C3198"] helpviewer_keywords: ["C3198"] -ms.assetid: ec4ecf61-0067-4aa4-b443-a91013a1e59d --- # Compiler Error C3198 -invalid use of floating-point pragmas: fenv_access pragma operates only in precise mode +> invalid use of floating-point pragmas: fenv_access pragma operates only in precise mode + +## Remarks [fenv_access](../../preprocessor/fenv-access.md) pragma was used under an [/fp](../../build/reference/fp-specify-floating-point-behavior.md) setting other than **/fp:precise**. -The following sample generates C3198: +## Example + +The following example generates C3198: ```cpp // C3198.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3199.md b/docs/error-messages/compiler-errors-2/compiler-error-c3199.md index 724e71a9f0..fd0da44ace 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3199.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3199.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3199" title: "Compiler Error C3199" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3199" +ms.date: 11/04/2016 f1_keywords: ["C3199"] helpviewer_keywords: ["C3199"] -ms.assetid: e7a478d3-115a-40a3-991b-c7454fd2e28e --- # Compiler Error C3199 -invalid use of floating-point pragmas: exceptions are not supported in non-precise mode +> invalid use of floating-point pragmas: exceptions are not supported in non-precise mode + +## Remarks The [float_control](../../preprocessor/float-control.md) pragma was used to specify floating-point exception model under an [/fp](../../build/reference/fp-specify-floating-point-behavior.md) setting other than **/fp:precise**. -The following sample generates C3199: +## Example + +The following example generates C3199: ```cpp // C3199.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3200.md b/docs/error-messages/compiler-errors-2/compiler-error-c3200.md index e4b6fe7616..548a0b21c5 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3200.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3200.md @@ -1,16 +1,21 @@ --- -description: "Learn more about: Compiler Error C3200" title: "Compiler Error C3200" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3200" +ms.date: 11/04/2016 f1_keywords: ["C3200"] helpviewer_keywords: ["C3200"] -ms.assetid: 44bb5e77-f0ec-421c-a732-b9ee7c0a3529 --- # Compiler Error C3200 -'template' : invalid template argument for template parameter 'parameter', expected a class template +> 'template' : invalid template argument for template parameter 'parameter', expected a class template + +## Remarks + +You passed an invalid argument to a class template. The class template expects template as a parameter. + +## Example -You passed an invalid argument to a class template. The class template expects template as a parameter. In the following example, calling `Y aY` will generate C3200. The first parameter needs to be a template, such as `Y aY`. +In the following example, calling `Y aY` will generate C3200. The first parameter needs to be a template, such as `Y aY`. ```cpp // C3200.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3201.md b/docs/error-messages/compiler-errors-2/compiler-error-c3201.md index a8042c538f..6799ee9806 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3201.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3201.md @@ -1,17 +1,22 @@ --- -description: "Learn more about: Compiler Error C3201" title: "Compiler Error C3201" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3201" +ms.date: 11/04/2016 f1_keywords: ["C3201"] helpviewer_keywords: ["C3201"] -ms.assetid: ec19cd64-1789-40a3-b2db-dff2852b9d98 --- # Compiler Error C3201 -the template parameter list for class template 'template' does not match the template parameter list for template parameter 'template' +> the template parameter list for class template 'template' does not match the template parameter list for template parameter 'template' + +## Remarks You passed a class template in the argument to a class template that does not take a template parameter, or you passed a mismatched number of template arguments for the default template argument. +## Example + +The following example generates C3201: + ```cpp // C3201.cpp template diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3202.md b/docs/error-messages/compiler-errors-2/compiler-error-c3202.md index 30bd9a0ebd..f84c285a95 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3202.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3202.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3202" title: "Compiler Error C3202" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3202" +ms.date: 11/04/2016 f1_keywords: ["C3202"] helpviewer_keywords: ["C3202"] -ms.assetid: 23528a0c-5493-4804-9789-cd3c38e49fb9 --- # Compiler Error C3202 -'arg name' : invalid default argument for template parameter 'parameter', expected a class template +> 'arg name' : invalid default argument for template parameter 'parameter', expected a class template + +## Remarks You passed an invalid default argument for a template parameter. -The following sample generates C3202: +## Example + +The following example generates C3202: ```cpp // C3202.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3203.md b/docs/error-messages/compiler-errors-2/compiler-error-c3203.md index f06d5ca3de..9eda867039 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3203.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3203.md @@ -1,19 +1,24 @@ --- -description: "Learn more about: Compiler Error C3203" title: "Compiler Error C3203" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3203" +ms.date: 11/04/2016 f1_keywords: ["C3203"] helpviewer_keywords: ["C3203"] -ms.assetid: 6356770e-22c1-434c-91fe-f60b0aa23b91 --- # Compiler Error C3203 -'type' : unspecialized class template or generic can't be used as a template or generic argument for template or generic parameter 'param', expected a real type +> 'type' : unspecialized class template or generic can't be used as a template or generic argument for template or generic parameter 'param', expected a real type + +## Remarks You passed an invalid argument to a class template or generic. The class template or generic expects a type as a parameter. This error can be generated as a result of compiler conformance work that was done for Visual Studio 2005: an unspecialized class template can't be used as a template argument in a base class list. To resolve C3203, explicitly add the template type parameter(s) to the template class name when using it as a template parameter in a base class list. +## Examples + +The following example generates C3203: + ```cpp // C3203.cpp template< typename T > @@ -33,7 +38,7 @@ int main() { } ``` -The following sample generates C3203 and shows how to fix it: +The following example generates C3203 and shows how to fix it: ```cpp // C3203_b.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3204.md b/docs/error-messages/compiler-errors-2/compiler-error-c3204.md index 60063fce8c..fcbc33e8a8 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3204.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3204.md @@ -1,20 +1,21 @@ --- -description: "Learn more about: Compiler Error C3204" title: "Compiler Error C3204" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3204" +ms.date: 11/04/2016 f1_keywords: ["C3204"] helpviewer_keywords: ["C3204"] -ms.assetid: 06e578da-0262-48c8-b2ae-be1cd6d28884 --- # Compiler Error C3204 -'_alloca' cannot be called from within a catch block +> '_alloca' cannot be called from within a catch block + +## Remarks This error occurs when you use a call to [_alloca](../../c-runtime-library/reference/alloca.md) from within a catch block. ## Example -The following sample generates C3204: +The following example generates C3204: ```cpp // C3204.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3205.md b/docs/error-messages/compiler-errors-2/compiler-error-c3205.md index 40350e7134..0e0223a4cd 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3205.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3205.md @@ -1,20 +1,21 @@ --- -description: "Learn more about: Compiler Error C3205" title: "Compiler Error C3205" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3205" +ms.date: 11/04/2016 f1_keywords: ["C3205"] helpviewer_keywords: ["C3205"] -ms.assetid: 802d306e-5ff3-4491-8a22-c5f1c072d005 --- # Compiler Error C3205 -argument list for template parameter 'parameter' is missing +> argument list for template parameter 'parameter' is missing + +## Remarks A [template](../../cpp/templates-cpp.md) parameter is missing. ## Example -The following sample generates C3205: +The following example generates C3205: ```cpp // C3205.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3206.md b/docs/error-messages/compiler-errors-2/compiler-error-c3206.md index 0832f2a6eb..188fa57503 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3206.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3206.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3206" title: "Compiler Error C3206" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3206" +ms.date: 11/04/2016 f1_keywords: ["C3206"] helpviewer_keywords: ["C3206"] -ms.assetid: d62995b5-e349-4418-bbe8-8a5e776ca7b0 --- # Compiler Error C3206 -'function' : invalid type argument for 'param', missing type argument list on class type 'typename' +> 'function' : invalid type argument for 'param', missing type argument list on class type 'typename' + +## Remarks A function template is defined as taking a template type argument. However, a template template argument was passed. -The following sample generates C3206: +## Examples + +The following example generates C3206: ```cpp // C3206.cpp @@ -77,7 +80,7 @@ int main() { } ``` -A class template is not allowed as a template type argument. The following sample raises C3206: +A class template is not allowed as a template type argument. The following example raises C3206: ```cpp // C3206e.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3207.md b/docs/error-messages/compiler-errors-2/compiler-error-c3207.md index bef3bea2a4..b26b866d47 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3207.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3207.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3207" title: "Compiler Error C3207" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3207" +ms.date: 11/04/2016 f1_keywords: ["C3207"] helpviewer_keywords: ["C3207"] -ms.assetid: 4a28b976-142a-4cff-aa2f-480b892c50ca --- # Compiler Error C3207 -'function' : invalid template argument for 'arg', class template expected +> 'function' : invalid template argument for 'arg', class template expected + +## Remarks A function template is defined as taking a template template argument. However, a template type argument was passed. -The following sample generates C3207: +## Example + +The following example generates C3207: ```cpp // C3207.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3208.md b/docs/error-messages/compiler-errors-2/compiler-error-c3208.md index 503703f98e..f8478e5ba0 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3208.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3208.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3208" title: "Compiler Error C3208" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3208" +ms.date: 11/04/2016 f1_keywords: ["C3208"] helpviewer_keywords: ["C3208"] -ms.assetid: 6d060bfe-52cf-4599-8f70-bdeb5a670df3 --- # Compiler Error C3208 -'function' : template parameter list for class template 'class' does not match template parameter list for template template parameter 'parameter' +> 'function' : template parameter list for class template 'class' does not match template parameter list for template template parameter 'parameter' + +## Remarks A template template parameter does not have the same number of template parameters as the provided class template. -The following sample generates C3208: +## Example + +The following example generates C3208: ```cpp // C3208.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3209.md b/docs/error-messages/compiler-errors-2/compiler-error-c3209.md index 333144c305..7be3106af4 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3209.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3209.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3209" title: "Compiler Error C3209" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3209" +ms.date: 11/04/2016 f1_keywords: ["C3209"] helpviewer_keywords: ["C3209"] -ms.assetid: 1de44e39-69d1-4894-8f89-ff92136e8e5d --- # Compiler Error C3209 -'class' : generic class must be a managed or WinRTclass +> 'class' : generic class must be a managed or WinRTclass + +## Remarks A generic class must be a managed class or a Windows Runtime class. -The following sample generates C3209 and shows how to fix it: +## Example + +The following example generates C3209 and shows how to fix it: ```cpp // C3209.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3210.md b/docs/error-messages/compiler-errors-2/compiler-error-c3210.md index 53f447d6de..bea665dad7 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3210.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3210.md @@ -1,20 +1,21 @@ --- -description: "Learn more about: Compiler Error C3210" title: "Compiler Error C3210" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3210" +ms.date: 11/04/2016 f1_keywords: ["C3210"] helpviewer_keywords: ["C3210"] -ms.assetid: c6e9d309-fabc-4e7d-b526-be20d9fe3f6a --- # Compiler Error C3210 -'type' : access declaration can only be applied to a base class member +> 'type' : access declaration can only be applied to a base class member + +## Remarks A [using declaration](../../cpp/using-declaration.md) was specified incorrectly. ## Example -The following sample generates C3210. +The following example generates C3210. ```cpp // C3210.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3211.md b/docs/error-messages/compiler-errors-2/compiler-error-c3211.md index 964563891f..be567ccd71 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3211.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3211.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3211" title: "Compiler Error C3211" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3211" +ms.date: 11/04/2016 f1_keywords: ["C3211"] helpviewer_keywords: ["C3211"] -ms.assetid: 85e33fed-3b59-4315-97e6-20d31c6a985a --- # Compiler Error C3211 -'explicit specialization' : explicit specialization is using partial specialization syntax, use template <> instead +> 'explicit specialization' : explicit specialization is using partial specialization syntax, use template <> instead + +## Remarks An explicit specialization was ill formed. -The following sample generates C3211: +## Example + +The following example generates C3211: ```cpp // C3211.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3212.md b/docs/error-messages/compiler-errors-2/compiler-error-c3212.md index 0930774cd1..0364fb2ac8 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3212.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3212.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3212" title: "Compiler Error C3212" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3212" +ms.date: 11/04/2016 f1_keywords: ["C3212"] helpviewer_keywords: ["C3212"] -ms.assetid: 9e271bb6-a51f-4b96-b26b-9f4ca28fca0a --- # Compiler Error C3212 -'specialization' : an explicit specialization of a template member must be a member of an explicit specialization +> 'specialization' : an explicit specialization of a template member must be a member of an explicit specialization + +## Remarks An explicit specialization was ill formed. -The following sample generates C3212: +## Example + +The following example generates C3212: ```cpp // C3212.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3213.md b/docs/error-messages/compiler-errors-2/compiler-error-c3213.md index 9e56eefd1b..92f037e2fc 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3213.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3213.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3213" title: "Compiler Error C3213" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3213" +ms.date: 11/04/2016 f1_keywords: ["C3213"] helpviewer_keywords: ["C3213"] -ms.assetid: 1f079e36-b3e9-40f8-8e95-08eeba3adc82 --- # Compiler Error C3213 -base class 'base_type' is less accessible than 'derived_type' +> base class 'base_type' is less accessible than 'derived_type' + +## Remarks A type that will be visible from an assembly must use publicly visible base classes. -The following sample generates C3213: +## Example + +The following example generates C3213: ```cpp // C3213.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3214.md b/docs/error-messages/compiler-errors-2/compiler-error-c3214.md index 7eeb9bc371..7f83f18b2e 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3214.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3214.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3214" title: "Compiler Error C3214" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3214" +ms.date: 11/04/2016 f1_keywords: ["C3214"] helpviewer_keywords: ["C3214"] -ms.assetid: 49ee4a9a-2549-4adb-9d3a-38e154303c2e --- # Compiler Error C3214 -'type' : invalid type argument for generic parameter 'param' of generic 'generic_type', does not meet constraint 'constraint' +> 'type' : invalid type argument for generic parameter 'param' of generic 'generic_type', does not meet constraint 'constraint' + +## Remarks The type was specified for an instantiation of a generic class that does not meet the generic class's constraint. -The following sample generates C3214: +## Example + +The following example generates C3214: ```cpp // C3214.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3215.md b/docs/error-messages/compiler-errors-2/compiler-error-c3215.md index 6a6ca70856..23799ce938 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3215.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3215.md @@ -1,20 +1,23 @@ --- -description: "Learn more about: Compiler Error C3215" title: "Compiler Error C3215" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3215" +ms.date: 11/04/2016 f1_keywords: ["C3215"] helpviewer_keywords: ["C3215"] -ms.assetid: d0d16007-8885-42e0-b086-2d3a61f348c5 --- # Compiler Error C3215 -'type1' : generic type parameter already constrained by 'type2' +> 'type1' : generic type parameter already constrained by 'type2' + +## Remarks A constraint was specified more than once. For more information on generics, see [Generics](../../extensions/generics-cpp-component-extensions.md). -The following sample generates C3215: +## Example + +The following example generates C3215: ```cpp // C3215.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3216.md b/docs/error-messages/compiler-errors-2/compiler-error-c3216.md index bbb2967e39..22291b161a 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3216.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3216.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3216" title: "Compiler Error C3216" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3216" +ms.date: 11/04/2016 f1_keywords: ["C3216"] helpviewer_keywords: ["C3216"] -ms.assetid: bbab1efe-8779-4489-8bb0-b11e45f5cbe5 --- # Compiler Error C3216 -constraint must be a generic parameter, not 'type' +> constraint must be a generic parameter, not 'type' + +## Remarks A constraint was ill formed. -The following sample generates C3216: +## Example + +The following example generates C3216: ```cpp // C3216.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3217.md b/docs/error-messages/compiler-errors-2/compiler-error-c3217.md index 8cacbfeb15..c2628b1b6b 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3217.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3217.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3217" title: "Compiler Error C3217" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3217" +ms.date: 11/04/2016 f1_keywords: ["C3217"] helpviewer_keywords: ["C3217"] -ms.assetid: 99070417-c23a-4d82-bdd2-04be1a07adea --- # Compiler Error C3217 -'param' : generic parameter cannot be constrained in this declaration +> 'param' : generic parameter cannot be constrained in this declaration + +## Remarks A constraint was ill formed; the constraint generic parameter must agree with the generic class template parameter. -The following sample generates C3217: +## Example + +The following example generates C3217: ```cpp // C3217.cpp @@ -27,7 +30,7 @@ ref class C { }; ``` -The following sample demonstrates a possible resolution: +The following example demonstrates a possible resolution: ```cpp // C3217b.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3218.md b/docs/error-messages/compiler-errors-2/compiler-error-c3218.md index c1abbab3d5..691dc13049 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3218.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3218.md @@ -1,20 +1,21 @@ --- -description: "Learn more about: Compiler Error C3218" title: "Compiler Error C3218" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3218" +ms.date: 11/04/2016 f1_keywords: ["C3218"] helpviewer_keywords: ["C3218"] -ms.assetid: 0eea19e0-503e-4e07-ae8b-2cb2e95922cd --- # Compiler Error C3218 -'type' : type not allowed as a constraint +> 'type' : type not allowed as a constraint + +## Remarks For a type to be a constraint, it must be either a value type or reference to a managed class or interface. ## Example -The following sample generates C3218. +The following example generates C3218. ```cpp // C3218.cpp diff --git a/docs/error-messages/compiler-errors-2/compiler-error-c3219.md b/docs/error-messages/compiler-errors-2/compiler-error-c3219.md index 4ee80752f4..4800bece79 100644 --- a/docs/error-messages/compiler-errors-2/compiler-error-c3219.md +++ b/docs/error-messages/compiler-errors-2/compiler-error-c3219.md @@ -1,18 +1,21 @@ --- -description: "Learn more about: Compiler Error C3219" title: "Compiler Error C3219" -ms.date: "11/04/2016" +description: "Learn more about: Compiler Error C3219" +ms.date: 11/04/2016 f1_keywords: ["C3219"] helpviewer_keywords: ["C3219"] -ms.assetid: 9c9757b0-1256-4cdf-9d8c-a3a72f300ce5 --- # Compiler Error C3219 -'param' : generic parameter cannot be constrained by multiple non-interfaces : 'class' +> 'param' : generic parameter cannot be constrained by multiple non-interfaces : 'class' + +## Remarks It is not valid to constrain a generic parameter by two or more managed classes. -The following sample generates C3219: +## Example + +The following example generates C3219: ```cpp // C3219.cpp @@ -25,7 +28,7 @@ where T : A, B ref class E {}; // C3219 ``` -The following sample demonstrates a possible resolution: +The following example demonstrates a possible resolution: ```cpp // C3219b.cpp