Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
La conversion 'type de conversion' de 'type1' en 'type2' existe, mais n'est pas accessible
Remarques
La protection d'accès (protected ou private) a empêché la conversion d'un pointeur vers une classe dérivée en pointeur vers la classe de base.
Example
L’exemple suivant génère l’erreur C2243 :
// 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;
Les classes de base avec un accès protected ou private ne sont pas accessibles aux clients de la classe dérivée. Ces niveaux de contrôle d'accès permettent d'indiquer que la classe de base est un détail d'implémentation qui doit être invisible pour les clients. Utilisez une dérivation publique si vous souhaitez que les clients de la classe dérivée aient accès à une conversion implicite d'un pointeur de la classe dérivée en pointeur vers la classe de base.