Delen via


Compilerfout C2243

Conversie van 'conversietype' van 'type1' naar 'type2' bestaat, maar is niet toegankelijk

Opmerkingen

Toegangsbeveiliging (protected of private) verhinderde conversie van een aanwijzer naar een afgeleide klasse naar een aanwijzer naar de basisklasse.

Example

In het volgende voorbeeld wordt C2243 gegenereerd:

// C2243.cpp
// compile with: /c
class B {};
class D : private B {};
class E : public B {};

D d;
B *p = &d;   // C2243

E e;
B *p2 = &e;

Basisklassen met protected of private toegang zijn niet toegankelijk voor clients van de afgeleide klasse. Deze toegangsniveaus worden gebruikt om aan te geven dat de basisklasse een implementatiedetails is die onzichtbaar moet zijn voor clients. Gebruik openbare afleiding als u wilt dat clients van de afgeleide klasse toegang hebben tot impliciete conversie van een afgeleide klassepointer naar een aanwijzer naar de basisklasse.