Bagikan melalui


Compiler Warning (level 3) C4243

Konversi 'jenis konversi' ada dari 'type1' ke 'type2', tetapi tidak dapat diakses

Pointer ke kelas turunan dikonversi ke pointer ke kelas dasar, tetapi kelas turunan mewarisi kelas dasar dengan akses privat atau terlindungi.

Sampel berikut menghasilkan 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;
}