Skip to content

Structure error references in range [C3351, C3380] #5675

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3351.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C3351"
title: "Compiler Error C3351"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3351"
ms.date: 11/04/2016
f1_keywords: ["C3351"]
helpviewer_keywords: ["C3351"]
ms.assetid: c021bbbe-1067-4f51-af4f-940d2b792eb5
---
# Compiler Error C3351

'object' : delegate constructor: second argument must be address of a static member function or global function
> 'object' : delegate constructor: second argument must be address of a static member function or global function

## Remarks

The compiler expected the address of a function declared **`static`**.

The following sample generates C3351:
## Example

The following example generates C3351:

```cpp
// C3351a.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3352.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
---
description: "Learn more about: Compiler Error C3352"
title: "Compiler Error C3352"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3352"
ms.date: 11/04/2016
f1_keywords: ["C3352"]
helpviewer_keywords: ["C3352"]
ms.assetid: f233bed7-474e-425f-aad2-7801578169d4
---
# Compiler Error C3352

'function' : the specified function does not match the delegate type 'type'
> 'function' : the specified function does not match the delegate type 'type'

## Remarks

The parameter lists for `function` and the delegate do not match.

For more information, see [delegate (C++ Component Extensions)](../../extensions/delegate-cpp-component-extensions.md).

The following sample generates C3352:
## Example

The following example generates C3352:

```cpp
// C3352.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3353.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C3353"
title: "Compiler Error C3353"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3353"
ms.date: 11/04/2016
f1_keywords: ["C3353"]
helpviewer_keywords: ["C3353"]
ms.assetid: 5699c04b-d504-46ce-bf71-c200318fed71
---
# Compiler Error C3353

'delegate' : a delegate can only be created from a global function or a member function of a managed or WinRT type
> 'delegate' : a delegate can only be created from a global function or a member function of a managed or WinRT type

## Remarks

Delegates, declared with the [delegate](../../extensions/delegate-cpp-component-extensions.md) keyword, can only be declared at global scope.

The following sample generates C3353:
## Example

The following example generates C3353:

```cpp
// C3353.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3354.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
---
description: "Learn more about: Compiler Error C3354"
title: "Compiler Error C3354"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3354"
ms.date: 11/04/2016
f1_keywords: ["C3354"]
helpviewer_keywords: ["C3354"]
ms.assetid: 185de401-231e-4999-a149-172ee4c69d84
---
# Compiler Error C3354

'function' : the function used to create a delegate cannot have return type 'type'
> 'function' : the function used to create a delegate cannot have return type 'type'

## Remarks

The following types are invalid as return types for a **`delegate`**:

Expand All @@ -22,7 +23,9 @@ The following types are invalid as return types for a **`delegate`**:

- Reference to member function

The following sample generates C3354:
## Example

The following example generates C3354:

```cpp
// C3354_2.cpp
Expand Down
9 changes: 5 additions & 4 deletions docs/error-messages/compiler-errors-2/compiler-error-c3356.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
---
description: "Learn more about: Compiler Error C3356"
title: "Compiler Error C3356"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3356"
ms.date: 11/04/2016
f1_keywords: ["C3356"]
helpviewer_keywords: ["C3356"]
ms.assetid: 6c1094f6-ac85-480a-b78b-e92fcf38641a
---
# Compiler Error C3356

'attribute': cannot call a multicast attribute with a fully qualified name
> 'attribute': cannot call a multicast attribute with a fully qualified name

## Remarks

An attribute that is processed by more than one process, for example, the compiler and ATL provider, was specified incorrectly.
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3358.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C3358"
title: "Compiler Error C3358"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3358"
ms.date: 11/04/2016
f1_keywords: ["C3358"]
helpviewer_keywords: ["C3358"]
ms.assetid: 180b93df-e78f-441a-91fb-1594c681f7f0
---
# Compiler Error C3358

'symbol': symbol not found
> 'symbol': symbol not found

## Remarks

The required symbol was not found.

The following sample generates C3358:
## Example

The following example generates C3358:

```cpp
// C3358.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3360.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C3360"
title: "Compiler Error C3360"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3360"
ms.date: 11/04/2016
f1_keywords: ["C3360"]
helpviewer_keywords: ["C3360"]
ms.assetid: 6acf983a-dbb6-422b-b045-a34bb4ba6761
---
# Compiler Error C3360

'string': cannot create name
> 'string': cannot create name

## Remarks

The value that was passed to the [uuid](../../windows/attributes/uuid-cpp-attributes.md) attribute was not valid.

The following sample generates C3360:
## Example

The following example generates C3360:

```cpp
// C3360.cpp
Expand Down
11 changes: 6 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3363.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
---
description: "Learn more about: Compiler Error C3363"
title: "Compiler Error C3363"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3363"
ms.date: 11/04/2016
f1_keywords: ["C3363"]
helpviewer_keywords: ["C3363"]
ms.assetid: 41aa922f-608e-4f7a-ba66-451fc1161935
---
# Compiler Error C3363

'type' : 'typeid' can only be applied to a type
> 'type' : 'typeid' can only be applied to a type

## Remarks

The [typeid](../../extensions/typeid-cpp-component-extensions.md) operator was used incorrectly.

## Example

The following sample generates C3363.
The following example generates C3363.

```cpp
// C3363.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3364.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C3364"
title: "Compiler Error C3364"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3364"
ms.date: 11/04/2016
f1_keywords: ["C3364"]
helpviewer_keywords: ["C3364"]
ms.assetid: 98654741-60fe-4472-a6af-e580f8c0a6e1
---
# Compiler Error C3364

'delegate': delegate constructor: argument must be pointer to member function of managed class or global function
> 'delegate': delegate constructor: argument must be pointer to member function of managed class or global function

## Remarks

The second parameter of the delegate's constructor takes either the address of a member function or the address of a static member function of any class. Both are treated as simple addresses.

The following sample generates C3364:
## Example

The following example generates C3364:

```cpp
// C3364_2.cpp
Expand Down
11 changes: 6 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3365.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
---
description: "Learn more about: Compiler Error C3365"
title: "Compiler Error C3365"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3365"
ms.date: 11/04/2016
f1_keywords: ["C3365"]
helpviewer_keywords: ["C3365"]
ms.assetid: 875ec3a4-522c-4e3d-9b67-48808b857f6d
---
# Compiler Error C3365

operator 'operator' : differing operands of type 'type1' and 'type2'
> operator 'operator' : differing operands of type 'type1' and 'type2'

## Remarks

An attempt was made to compose delegates with different types. See [How to: Define and Use Delegates (C++/CLI)](../../dotnet/how-to-define-and-use-delegates-cpp-cli.md) for more information about delegates.

## Example

The following sample generates C3365:
The following example generates C3365:

```cpp
// C3365.cpp
Expand Down
11 changes: 7 additions & 4 deletions docs/error-messages/compiler-errors-2/compiler-error-c3366.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
---
description: "Learn more about: Compiler Error C3366"
title: "Compiler Error C3366"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3366"
ms.date: 11/04/2016
f1_keywords: ["C3366"]
helpviewer_keywords: ["C3366"]
ms.assetid: efc55bcf-c16d-43c1-a36f-87a6165fa2a8
---
# Compiler Error C3366

'variable' : static data members of managed or WinRTtypes must be defined within the class definition
> 'variable' : static data members of managed or WinRTtypes must be defined within the class definition

## Remarks

You attempted to reference a static member of a WinRT or .NET class or interface outside the definition of that class or interface.

The compiler needs to know the full definition of the class (to emit the meta-data after one pass) and requires static data members to be initialized within the class.

## Example

For example, the following example generates C3366 and shows how to fix it:

```cpp
Expand Down
11 changes: 6 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3367.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
---
description: "Learn more about: Compiler Error C3367"
title: "Compiler Error C3367"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3367"
ms.date: 11/04/2016
f1_keywords: ["C3367"]
helpviewer_keywords: ["C3367"]
ms.assetid: e675d42b-f5b0-4d43-aab1-1f5024233102
---
# Compiler Error C3367

'static_member_function' : cannot use static function to create an unbound delegate
> 'static_member_function' : cannot use static function to create an unbound delegate

## Remarks

When you call an unbound delegate, you must pass an instance of an object. Since a static member function is called through the class name, you can only instantiate an unbound delegate with an instance member function.

For more information about unbound delegates, see [How to: Define and Use Delegates (C++/CLI)](../../dotnet/how-to-define-and-use-delegates-cpp-cli.md).

## Example

The following sample generates C3367.
The following example generates C3367.

```cpp
// C3367.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3368.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C3368"
title: "Compiler Error C3368"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3368"
ms.date: 11/04/2016
f1_keywords: ["C3368"]
helpviewer_keywords: ["C3368"]
ms.assetid: 5bfd5be4-dfa9-4b33-9612-010561b40955
---
# Compiler Error C3368

'function declaration' : invalid calling convention for IDL
> 'function declaration' : invalid calling convention for IDL

## Remarks

You can only use the [__stdcall](../../cpp/stdcall.md) or [__cdecl](../../cpp/cdecl.md) calling conventions in an .idl file.

The following sample generates C3368:
## Example

The following example generates C3368:

```cpp
// C3368.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-2/compiler-error-c3369.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C3369"
title: "Compiler Error C3369"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C3369"
ms.date: 11/04/2016
f1_keywords: ["C3369"]
helpviewer_keywords: ["C3369"]
ms.assetid: c6ceb9cb-3df9-4334-9a5c-d16db351d476
---
# Compiler Error C3369

'module name': idl_module already defined
> 'module name': idl_module already defined

## Remarks

The [idl_module](../../windows/attributes/idl-module.md) usage where you define the DLL can only occur once in a program.

The following sample generates C3369:
## Example

The following example generates C3369:

```cpp
// C3369.cpp
Expand Down
Loading