struct X1 {}; struct X2: public X1 {}; X1 x1; X2 x2; //что правильно x1 = static_cast<X1>(x2);//или x1 = static_cast<X1 &>(x2); static_cast<X1>(x2) = x1;//или static_cast<X1 &>(x2) = x1;