Bagikan melalui


Compiler Warning (level 1) C4584

'class1' : kelas dasar 'class2' sudah menjadi kelas dasar 'class3'

Kelas yang Anda tentukan mewarisi dari dua kelas, salah satunya mewarisi dari kelas lainnya. Contohnya:

// C4584.cpp
// compile with: /W1 /LD
class A {
};

class B : public A {
};

class C : public A, public B { // C4584
};

Dalam hal ini, peringatan akan dikeluarkan pada kelas C karena mewarisi baik dari kelas A maupun kelas B, yang juga mewarisi dari kelas A. Peringatan ini berfungsi sebagai pengingat bahwa Anda harus sepenuhnya memenuhi syarat penggunaan anggota dari kelas dasar ini atau kesalahan kompilator akan dihasilkan karena ambiguitas anggota kelas mana yang Anda rujuk.