Для того, чтобы static_cast
от base-> child или child-> base, отношение должно быть известно компилятору в тот момент, когда выполняется приведение.
Так как он действительно не связан, определите свой класс Unrelated
после определения базового и производного классов для правильного установления отношения наследования.
Если Derived
фактически содержит группу Unrelated
по значению, у вас неразрешимая круговая зависимость. Вам придется переосмыслить свой дизайн, чтобы он работал так, как вы хотите. Без более подробной информации трудно помочь дальше.