Skip to content

Structure error references in range [C2231, C2260] #5565

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-1/compiler-error-c2231.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C2231"
title: "Compiler Error C2231"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2231"
ms.date: 11/04/2016
f1_keywords: ["C2231"]
helpviewer_keywords: ["C2231"]
ms.assetid: 677c5c66-d30f-4c3b-bbb9-760858d56477
---
# Compiler Error C2231

'.' : left operand points to 'class-key', use '->'
> '.' : left operand points to 'class-key', use '->'

## Remarks

The operand to the left of the member-selection operation (.) is a pointer instead of a class, structure, or union.

The following sample generates C2231:
## Example

The following example generates C2231:

```c
// C2231.c
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-1/compiler-error-c2232.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C2232"
title: "Compiler Error C2232"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2232"
ms.date: 11/04/2016
f1_keywords: ["C2232"]
helpviewer_keywords: ["C2232"]
ms.assetid: 76f302b7-30a7-4a81-9a39-b4edde33b54c
---
# Compiler Error C2232

'->' : left operand has 'class-key' type, use '.'
> '->' : left operand has 'class-key' type, use '.'

## Remarks

The operand to the left of the `->` operator is not a pointer. Use the period (.) operator for a class, structure, or union.

The following sample generates C2232:
## Example

The following example generates C2232:

```c
// C2232.c
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-1/compiler-error-c2233.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C2233"
title: "Compiler Error C2233"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2233"
ms.date: 11/04/2016
f1_keywords: ["C2233"]
helpviewer_keywords: ["C2233"]
ms.assetid: 236bdf0b-9607-4f26-a249-d8def0b1333c
---
# Compiler Error C2233

'identifier' : arrays of objects containing zero-size arrays are illegal
> 'identifier' : arrays of objects containing zero-size arrays are illegal

## Remarks

Each object in an array must contain at least one element.

The following sample generates C2233:
## Example

The following example generates C2233:

```cpp
// C2233.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-1/compiler-error-c2234.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C2234"
title: "Compiler Error C2234"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2234"
ms.date: 11/04/2016
f1_keywords: ["C2234"]
helpviewer_keywords: ["C2234"]
ms.assetid: cfa42458-c803-4717-a017-9eca1c0cbfb0
---
# Compiler Error C2234

'name' : arrays of references are illegal
> 'name' : arrays of references are illegal

## Remarks

Because pointers to references are not allowed, arrays of references are not possible.

The following sample generates C2234:
## Example

The following example generates C2234:

```cpp
// C2234.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-1/compiler-error-c2236.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C2236"
title: "Compiler Error C2236"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2236"
ms.date: 11/04/2016
f1_keywords: ["C2236"]
helpviewer_keywords: ["C2236"]
ms.assetid: 0b6771a7-a783-4729-9c3d-7a3339c432cc
---
# Compiler Error C2236

unexpected token 'identifier'. Did you forget a ';'?
> unexpected token 'identifier'. Did you forget a ';'?

## Remarks

The identifier is already defined as a type and cannot be overridden by a user-defined type.

The following sample generates C2236:
## Example

The following example generates C2236:

```cpp
// C2236.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-1/compiler-error-c2238.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C2238"
title: "Compiler Error C2238"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2238"
ms.date: 11/04/2016
f1_keywords: ["C2238"]
helpviewer_keywords: ["C2238"]
ms.assetid: 3d53060c-d6b7-4603-b9cf-d7c65eb64cd2
---
# Compiler Error C2238

unexpected token(s) preceding 'token'
> unexpected token(s) preceding 'token'

## Remarks

An incorrect token was found.

The following sample generates C2238:
## Example

The following example generates C2238:

```cpp
// C2238.cpp
Expand Down
9 changes: 5 additions & 4 deletions docs/error-messages/compiler-errors-1/compiler-error-c2241.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
---
description: "Learn more about: Compiler Error C2241"
title: "Compiler Error C2241"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2241"
ms.date: 11/04/2016
f1_keywords: ["C2241"]
helpviewer_keywords: ["C2241"]
ms.assetid: 2f4e2c2c-b95c-4afe-bbe0-4214cd39d140
---
# Compiler Error C2241

'identifier' : member access is restricted
> 'identifier' : member access is restricted

## Remarks

Code attempts to access a private or protected member.

Expand Down
9 changes: 5 additions & 4 deletions docs/error-messages/compiler-errors-1/compiler-error-c2242.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
---
description: "Learn more about: Compiler Error C2242"
title: "Compiler Error C2242"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2242"
ms.date: 11/04/2016
f1_keywords: ["C2242"]
helpviewer_keywords: ["C2242"]
ms.assetid: e1b687ed-4460-4c26-9f7e-c43e65c6dd65
---
# Compiler Error C2242

typedef name cannot follow class/struct/union
> typedef name cannot follow class/struct/union

## Remarks

A **`typedef`** name appears at the end of a qualified name.
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-1/compiler-error-c2243.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C2243"
title: "Compiler Error C2243"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2243"
ms.date: 11/04/2016
f1_keywords: ["C2243"]
helpviewer_keywords: ["C2243"]
ms.assetid: b90065bb-d251-4ba9-8b4c-280ee13fa9c0
---
# Compiler Error C2243

'conversion type' conversion from 'type1' to 'type2' exists, but is inaccessible
> 'conversion type' conversion from 'type1' to 'type2' exists, but is inaccessible

## Remarks

Access protection (**`protected`** or **`private`**) prevented conversion from a pointer to a derived class to a pointer to the base class.

The following sample generates C2243:
## Example

The following example generates C2243:

```cpp
// C2243.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-1/compiler-error-c2244.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
---
description: "Learn more about: Compiler Error C2244"
title: "Compiler Error C2244"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2244"
ms.date: 11/04/2016
f1_keywords: ["C2244"]
helpviewer_keywords: ["C2244"]
ms.assetid: d9911c12-ceb5-4f93-ac47-b44a485215c2
---
# Compiler Error C2244

'identifier' : unable to match function definition to an existing declaration
> 'identifier' : unable to match function definition to an existing declaration

## Remarks

An unusual use of the unary + operator was used in front of a function call that did not have parenthesis.

This error only occurs in C++ projects.

The following sample generates C2244:
## Examples

The following example generates C2244:

```cpp
// C2244.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-1/compiler-error-c2245.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C2245"
title: "Compiler Error C2245"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2245"
ms.date: 11/04/2016
f1_keywords: ["C2245"]
helpviewer_keywords: ["C2245"]
ms.assetid: 08aaeadf-10ec-485a-b2a6-6e775289082b
---
# Compiler Error C2245

non-existent member function 'function' specified as friend (member function signature does not match any overload)
> non-existent member function 'function' specified as friend (member function signature does not match any overload)

## Remarks

A function specified as a friend was not found by the compiler.

The following sample generates C2245:
## Example

The following example generates C2245:

```cpp
// C2245.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-1/compiler-error-c2246.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C2246"
title: "Compiler Error C2246"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2246"
ms.date: 11/04/2016
f1_keywords: ["C2246"]
helpviewer_keywords: ["C2246"]
ms.assetid: 4f3e4f83-21f3-4256-af96-43e0bb060311
---
# Compiler Error C2246

'identifier' : illegal static data member in locally defined class
> 'identifier' : illegal static data member in locally defined class

## Remarks

A member of a class, structure, or union with local scope is declared **`static`**.

The following sample generates C2246:
## Example

The following example generates C2246:

```cpp
// C2246.cpp
Expand Down
13 changes: 8 additions & 5 deletions docs/error-messages/compiler-errors-1/compiler-error-c2247.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
description: "Learn more about: Compiler Error C2247"
title: "Compiler Error C2247"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2247"
ms.date: 11/04/2016
f1_keywords: ["C2247"]
helpviewer_keywords: ["C2247"]
ms.assetid: 72efa03e-615e-4ef9-aede-0a98654b20fd
---
# Compiler Error C2247

'identifier' not accessible because 'class' uses 'specifier' to inherit from 'class'
> 'identifier' not accessible because 'class' uses 'specifier' to inherit from 'class'

## Remarks

`identifier` is inherited from a class declared with private or protected access.

The following sample generates C2247:
## Examples

The following example generates C2247:

```cpp
// C2247.cpp
Expand Down
7 changes: 3 additions & 4 deletions docs/error-messages/compiler-errors-1/compiler-error-c2248.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
description: "Learn more about: Compiler Error C2248"
title: "Compiler Error C2248"
description: "Learn more about: Compiler Error C2248"
ms.date: 09/27/2022
f1_keywords: ["C2248"]
helpviewer_keywords: ["C2248"]
ms.assetid: 7a3ba0e8-d3b9-4bb9-95db-81ef17e31d23
---
# Compiler Error C2248

Expand All @@ -14,9 +13,9 @@ ms.assetid: 7a3ba0e8-d3b9-4bb9-95db-81ef17e31d23

Members of a derived class can't access **`private`** members of a base class. You can't access **`private`** or **`protected`** members of class instances.

## Example
## Examples

The following sample generates C2248 when `private` or `protected` members of a class are accessed from outside the class. To fix this issue, don't access these members directly outside the class. Use `public` member data and member functions to interact with the class.
The following example generates C2248 when `private` or `protected` members of a class are accessed from outside the class. To fix this issue, don't access these members directly outside the class. Use `public` member data and member functions to interact with the class.

```cpp
// C2248_access.cpp
Expand Down
13 changes: 7 additions & 6 deletions docs/error-messages/compiler-errors-1/compiler-error-c2249.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
---
description: "Learn more about: Compiler Error C2249"
title: "Compiler Error C2249"
ms.date: "11/04/2016"
description: "Learn more about: Compiler Error C2249"
ms.date: 11/04/2016
f1_keywords: ["C2249"]
helpviewer_keywords: ["C2249"]
ms.assetid: bdd6697c-e04b-49b9-8e40-d9eb6d74f2b6
---
# Compiler Error C2249

'member' : no accessible path to access member declared in virtual base 'class'
> 'member' : no accessible path to access member declared in virtual base 'class'

## Remarks

The `member` is inherited from a nonpublic **`virtual`** base class or structure.

## Examples

The following sample generates C2249.
The following example generates C2249.

```cpp
// C2249.cpp
Expand All @@ -33,7 +34,7 @@ int main() {
}
```

C2249 can also occur if you try to assign a stream from the C++ Standard Library to another stream. The following sample generates C2249.
C2249 can also occur if you try to assign a stream from the C++ Standard Library to another stream. The following example generates C2249.

```cpp
// C2249_2.cpp
Expand Down
Loading