Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A conversão do «tipo de conversão» de «tipo1» para «tipo2» existe, mas é inacessível
Observações
A proteção de acesso (protected ou private) impediu a conversão de um ponteiro para uma classe derivada para um ponteiro para a classe base.
Example
O exemplo a seguir gera 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;
Classes base com protected ou private acesso não são acessíveis para clientes da classe derivada. Esses níveis de controle de acesso são usados para indicar que a classe base é um detalhe de implementação que deve ser invisível para os clientes. Use a derivação pública se desejar que os clientes da classe derivada tenham acesso à conversão implícita de um ponteiro de classe derivada para um ponteiro para a classe base.