Avviso del compilatore (livello 3) C4243
La conversione di 'tipo di conversione' esiste da 'type1' a 'type2', ma non è accessibile
Un puntatore a una classe derivata viene convertito in un puntatore a una classe base, ma la classe derivata eredita la classe base con accesso privato o protetto.
L'esempio seguente genera l'errore C4243:
// C4243.cpp
// compile with: /W3
// C4243 expected
struct B {
int f() {
return 0;
};
};
struct D : private B {};
struct E : public B {};
int main() {
// Delete the following 2 lines to resolve.
int (D::* d)() = (int(D::*)()) &B::f;
d;
int (E::* e)() = (int(E::*)()) &B::f; // OK
e;
}