"structure has default inheritance by default" means that this
 struct Derived : Base {}; 
equivalently
 struct Derived : public Base {}; 
Classes have private default inheritance, so when you remove public from class inheritance, you have the equivalent
 class Derived : private Base {}; 
In this private inheritance scenario, Derived has no is-a relationship with Base , it essentially has-a Base . So, the conversion you are trying to do here:
 cc = ⅆ 
is not allowed.
 source share