Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Konwersja "typ konwersji" z "type1" na "type2" istnieje, ale jest niedostępna
Uwagi
Ochrona dostępu (protected lub private) uniemożliwiła konwersję ze wskaźnika do klasy pochodnej do wskaźnika do wskaźnika do klasy bazowej.
Example
Poniższy przykład generuje 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;
Klasy bazowe z dostępem protected lub private nie są dostępne dla klientów klasy pochodnej. Te poziomy kontroli dostępu służą do wskazywania, że klasa podstawowa jest szczegółem implementacji, który powinien być niewidoczny dla klientów. Użyj wyprowadzania publicznego, jeśli chcesz, aby klienci klasy pochodnej mieli dostęp do niejawnej konwersji wskaźnika klasy pochodnej na wskaźnik do klasy bazowej.