C2243 fordítási hiba

Az "átalakítás típusa" 'type1' típusból 'type2' típusba létezik, de nem hozzáférhető

Megjegyzések

Az access védelem (protected vagy private) megakadályozta, hogy egy származtatott osztályra mutató mutatót átalakítsanak az alaposztályra mutató mutatóvá.

Example

Az alábbi példa c2243-at hoz létre:

// 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;

Az protected vagy private hozzáférésű alaposztályok nem érhetők el a származtatott osztály felhasználói számára. A hozzáférés-vezérlés ezen szintjei arra szolgálnak, hogy jelezzék: az alaposztály egy olyan megvalósítási részlet, amely nem látható a felhasználók számára. Nyilvános származtatást akkor használjon, ha azt szeretné, hogy a származtatott osztály ügyfelei hozzáférjenek a származtatott osztály mutatójának implicit átalakításához az alaposztályra mutató mutatóra.